반응형
ch6-20 return 문
실행 중인 메서드를 종료하고 호출한 곳으로 되돌아 간다.
return 자신을 호출한 곳으로 되돌아간다.
원래 메서드가 작업을 마쳤을 때 return; 을 작성해야 하지만, 매번 쓰기 귀찮기 때문에
생략된 것이다 (반환타입이 void일 경우)
만약 void가 아니라면 생략할 수 없다.
반환 타입이 void가 아니라면 반드시 return 문이 필요하다.
너무 당연하게도 반환 값이 필요하기 때문에 return문이 필요한 것
조심할 부분은 메서드에 문제가 있다.
조건문이 true일 때만 return 문이 없는 경우이기 때문에 false일 경우의 return 문도 작성을 해야 한다.
실습
package ch06;
public class Ex6_4 {
public static void main(String[] args) {
MyMath m = new MyMath();
m.printGugudan(4);
}
}
class MyMath {
void printGugudan(int n) {
if(!(n>=2 && n<=9))
return;
for(int i = 1; i <= 9; i++) {
System.out.printf("%d * %d = %d %n", n, i, n*i);
}
}
int compare(int a, int b) {
return (a > b) ? a : b;
}
}
거짓일 때 반환값이 없는 경우
false인 경우에도 return 값을 넣어줘야 한다.
ch6-21 반환값
반환타입이 void가 아닌 경우 return 값을 생략할 수 없다.
return 값과 타입이 일치하거나 자동형변환이 가능해야 한다.
Q. break 와 return의 차이점은 무엇일까?
return은 함수의 자체에서 빠져나간다면 break는 함수 자체가 아니라 함수 안에서 쓰인 루프문에서만 빠져나간다는 차이점이 있다.
반응형
'자바의정석' 카테고리의 다른 글
[자바의 정석 - 기초편] ch6-23 기본형 매개변수 (0) | 2022.03.08 |
---|---|
[자바의 정석 - 기초편] ch6-22 호출스택 (0) | 2022.03.08 |
[자바의 정석 - 기초편] ch6-17~19 메서드호출 (0) | 2022.03.08 |
[자바의 정석 - 기초편] ch6-14~16 메서드란? 메서드의 선언부와 구현부 (0) | 2022.03.08 |
[자바의 정석 - 기초편] ch6-12,13 클래스 변수, 인스턴스 변수 (0) | 2022.03.08 |