본문 바로가기
개발 수업/JAVA

[Java] 클래스/메소드(method)(메소드 선언,리턴문)

by 오늘 하루s 2023. 5. 11.
728x90
더보기

Day10~11. 230511~12

메소드

메소드 선언

매개 변수 선언

ex1) 두 수를 더하는 메소드 add()
-> 나눗셈할 매개 변수 2개 필요함.

add() 메소드 선언

 
- 선언된 add()메소드를 호출할 때에는 반드시 2개의 int값을 주어야 함.

=> 메서드의 매개변수의 개수가 일치하지 않으면 에러 발생

=> 메서드의 매개변수의 타입과 일치하지 않으면 에러 발생
 
 
ex2)

add() 메소드 선언

=> 메서드의 매개변수의 타입과 일치하지 않으면 에러 발생

=> int를 byte로 형변환
 
 

매개 변수의 개수를 모를 경우

1) 매개 변수를 배열 타입으로 선언
호출할 때 배열을 넘겨줌으로써 배열의 항목 값들을 모두 전달.
배열의 항목 수는 호출할 때 결정

선언 > int sum1(int[] values){}
호출 >
int[] valuse = {1,2,3};
int result = sum1(values);
int result = sim1(new int[]{1,2,3,4,5});

-> 매개 변수를 배열 타입으로 선언하면 메소드를 호출하기 전에 배열을 생성해야 하는 불편함이 있음.


 연습)

선언>

호출>

com1 객체 생성 후


2) 배열을 생성하지 않고 목록만 넘겨주는 방법

선언 > int sum2(int ... values){}
호출 >
int result = sum2(1,2,3);
int result = sum2(1,2,3,4,50;
=> 변수 값 메소드 호출 시 쉼표로 나열

또는

int[] values = {1,2,3};
int result = sum2(values);
int result = sum2(new int[]{1,2,3,4,5});
=> 배열을 직접 매개값으로 사용.

 

연습)
선언>

호출>

com1 객체 생성 후

 
 


메소드 호출

메소드는 클래스 내,외부의 호출에 의해 실행
- 클래스 내부 : 메소드 이름으로 호출
- 클래스 외부 : 클래스로부터 객체를 생성한 뒤, 참조 변수를 이용해 메소드 호출.
 

객체 외부에서 호출

- 클래스로부터 객체를 생성해야 함.

클래스 참조변수 = new 클래스 (매개값,...);

- 객체가 생성되면 참조 변수와 함께 도트(.) 연산자를  사용해 메소드 호출 가능.

참조변수.메소드(매개값,...); //리턴값이 없거나, 있어도 리턴값을 받지 않는 경우
타입 변수 = 참조변수.메소드(매개값,...); //리턴값이 있고, 리턴값을 받고 싶을 경우

 

  • method의 유형4가지
[접근제한자] [제어자] 리턴유형 메서드명(매개변수리스트){
}


1. 매개변수없고, 리턴없는 method
리턴유형 메서드명(){
}


2. 매개변수없고, 리턴있는 method
리턴유형 메서드명(){
return 표현식;
}


3. 매개변수있고, 리턴없는 method
리턴유형 메서드명(매개변수리스트){
}


4. 매개변수있고, 리턴있는 method
리턴유형 메서드명(매개변수리스트){
return 표현식;
}

 

728x90