위에 이미지에서 static int 합 이라는 것이 메소드에 해당하고 int 자료형의 a와 b를 받아서 두개의 값을 더한 뒤에 return으로 결과 값을 반환해 주는 것이다.
- 코드의 중복을 제거하기 위해 해당 문자들을 묵은 것으로, 값을 입력받아 결과를 출력(반환)한다.
- 하나의 메서드는 하나의 기능만 수행하도록 작성한다.
※ 메서드 vs 함수
반환타입 메서드이름 (타입 변수명, 타입 변수명, ...){ // 선언부
// 코드
}
int method (int a, int b){
int c = a+b;
return c;
}
- 반환 타입이 void일 경우 생략 가능, 컴파일러가 자동 추가됨
- 반환 타입이 void가 아닐 경우, 반드시 return문 필요
※ 다음의 경우에 "return문이 없다"는 에러가 발생.
int max(int a, int b){
if(a>b) return a;
}
true일 경우에는 a를 반환하지만, false일 경우에는 어떤 값을 반환해야하는지 없기 때문.
그러면 정상적인 코드는 어떠한가 ?
int max(int a, int b){
if(a>b) return a;
else return b;
}
true일 때와 false일 때 모두 return문이 있도록 작성하면 된다.
return되는 값으로, void type이 아닐 때, return 옆에 값을 쓰는 것.
반환 type과 반환값의 type이 일치해야 함.
위 메소드는 인수 plus를 받아서 a가 0이 아니라면 a에 10을 증가 시키고 출력하는 메소드 이다.
이 때 a가 0일 경우 a에 10을 증가하고 출력하지 않고 return 값을 받아 메소드를 빠져 나간다.