1. return문
return문은 형재 실행 중인 메서드를 종료하고 호출한 메서드로 되돌아간다.
반환값의 유무에 관계없이 모든 메서드에는 적어도 하나의 return문이 있어야한다.
반환타입이 void인 경우, return문 없이도 아무런 문제가 없던 이유는 컴파일러가 메서드의 마지막에 'return;'을 자동적으로 추가해줬기 때문이다.
public class ReturnEx {
public static void main(String[] args) {
MyMath2 mm = new MyMath2();
mm.printGugudan(3);
}
}
class MyMath2 {
void printGugudan(int dan) {
if (!(2 <= dan && dan <= 9)) {
return; // 입력받은 단이 2~9가 아니면 메서드 종료하고 돌아가기
} else {
for (int i = 1; i <= 9; i++) {
System.out.printf("%d *%d = %d%n", dan, i, dan * i);
}
}
}
}
반환 타입이 void가 아닌 경우, 반드시 return문 필요하다.
->참일 때와 거짓일 때 모두 리턴문 추가
반환값
반환값에 주로 변수가 오지만, x+y 처럼 수식이 올 수도 있다.
수식이 반환되는 것은 아니고 수식을 계산한 결과가 반환된다.
타입 일치, 자동 형변환 가능해야된다.
매개변수의 유효성 검사
메서드의 구현부{}를 작성할 때 제일 먼저해야하는 일이 매개변수의 값이 적절한 지 확인하는 것이다.
아래 divide 메서드는 매개변수 x를 y로 나눈 결과를 실수(float)타입으로 반환하는데, 0으로 나누는 것은 금지되어 있기 때문에 계산전에 y가 0인지 확인해야한다.
float divide(int x, int y) {
if (y == 0) {
System.out.println("0으로 나눌 수 없습니다");
return 0; // 매개변수가 유효하지 않으므로 메서드 종료
}
return x / (float) y;
}
'JAVA > 객체지향프로그래밍1' 카테고리의 다른 글
[JAVA]기본형 매개변수와 참조형 매개변수 (0) | 2021.06.20 |
---|---|
[JAVA] 호출 스택(call stack) (0) | 2021.06.20 |
[JAVA]메서드 (0) | 2021.06.20 |
[JAVA] 변수와 메서드-변수 (0) | 2021.06.19 |
[JAVA] 객체 배열 (0) | 2021.06.18 |