간단한 예제를 살펴보자. 첫 번째 예제는 리턴 타입이 void이고 입력매개변수가 없을 때다. 리턴 타입이 void일 때는 메서드가 반환하는 값이 없다는 것을 의미한다. 즉, 메서드가 종료된 이후에 아무런 값으로 변하지 않으며, 메서드 내부에 'return 리턴값'의 코드가 들어 있지 않다는 것이다.
🍘리턴 타입이 void이고 입력매개변수가 없는 메서드
void print() {
System.out.println("안녕");
}
두 번째 예제는 리턴 타입이 int이고 입력매개변수는 없을 때로, data() 메서드 호출 이후에는 값이 3으로 변환될 것이다. 당연히 메서드의 내용이 마지막에는 'return 리턴값'이 포함돼야 한다.
🍘리턴 타입이 int이고 입력매개변수가 없는 메서드
int data() {
return 3;
}
마지막은 리턴 타입도 void가 아니고 입력매개변수도 포함된 예제로 int형과 double형 데이터를 하나씩 받아 최종적으로 double형을 리턴하는 메서드다.
🍘리턴 타입이 double이고 입력매개변수가 2개인 메서드
double sum(int a, double b) {
return a + b;
}
+) 리턴 타입이 void일 때 return 키워드의 의미
void 리턴 타입이라는 것은 리턴하지 않는다는 것을 의미하지만, 내부에 return 키워드를 사용할 수는 있다. 이때 return은 '메서드를 종료하라'는 의미다.
🍘리턴 타입이 void인 메서드 안에서 return 키워드 사용
class A {
void printMonth(int m) {
if (m < 0 || m > 12) {
System.out.println("잘못된 입력!");
return; // 메서드 종료
}
System.out.println(m+ "월 입니다.");
}
}