자바(Java) return 함수

유필선·2024년 3월 5일
0

자바(Java)

목록 보기
4/20
post-thumbnail

return 함수란 ?

  1. 단어 그 의미대로 메소드 실행에 따라 나온 값을 반환해주는 역할이다.
  2. 해당 메소드를 즉시 종료시켜주는 역할이다.

메소드 ?

위에 이미지에서 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이 일치해야 함.

return의 또 다른 쓰임(즉시 종료)

위 메소드는 인수 plus를 받아서 a가 0이 아니라면 a에 10을 증가 시키고 출력하는 메소드 이다.
이 때 a가 0일 경우 a에 10을 증가하고 출력하지 않고 return 값을 받아 메소드를 빠져 나간다.

  • return문으로 메소드를 빠져나가는 방법은 리턴 자료형이 void형인 메소드에서만 사용할 수 있다.
profile
이해해버려라!

0개의 댓글