Day10 - 메서드(함수) 03. 반환형(type return)

2021. 2. 27. 09:04JAVA 공부

이번에는 메서드의 return type(반환형) 에 대해서 알아 보겠습니다

 

반환형(return type)은 메서드를 호출 하면 돌려주는 값에 대한 type 인데요

 

예제를 한번 봅시다

여기 두개의 정수를 받아서 합계를 반환 해주는 메서드가 있습니다.

<데이터 타입> <메서드 이름> ( 매개 변수 ){

            실행문

}

메서드의 기본 형태에서 , 바로 <데이터 타입>이 위치하는 곳 !

그 곳이 바로 반환형(return type) 입니다.

그러면 여기서 반환형(return type)은 뭐겠어요? 바로 int 입니다.

좀 이해가 되셨나요?

 

그리고 반환형(return type)은 없을 수도 있습니다.

바로 void 형 인데요

바로 빈 공간 , 공허 ... 입니다

이렇게 반환형(type return)이 들어가는 곳에 void가 이렇게 들어오게 되면, 반환할 값이 없다 라고 생각하면 될 것 같습니다.

 

void 형 메서드를 1개 더 보죠 그냥 호출이 되면 출력을 하는 메서드를 만들어 봤습니다.

multi() 가 호출이 되면서 메서드에 있는 출력문을 출력 하겠죠? 이번에도 역시나 void 형 이라서 반환되는 값(return)이 없습니다.

 

이번에는 retrun 에 대해 조금 더 알아 봅시다.

return 은 총 2가지 기능이 있어요

1. 값의 반환

2. 종료 ( for 문 안에서 쓰는 break 와 비슷 합니다 )

 

여태까지 값의 반환을 봐 왔죠?

이번에는 종료의 기능을 가진 return 기능을 봅시다

메서드에서 return을 만나면 그 밑에 코드는 실행하지 않고 종료가 됩니다.

예제를 한번 보죠

문자열을 매개변수로 받아서 그 문자열이 "똑똑이" 이면 "참 잘했어요!"를, "똑똑이" 가 아니면 "틀렸습니다. 똑똑이를 입력해야 해요" 를 출력해줄 거에요

그래서 if문으로 조건을 검사하고 출력을 한 뒤에 return을 썻는데 그 밑에 코드에는 빨간줄(오류)가 떳죠?

그 이유는, return을 만나면 빠져 나가기 때문에 return 다음 코드는 실행이 되지 않기 때문입니다.

그래서 이렇게 if 문 안으로 return을 넣어서, 문자열이 만약 "똑똑이" 이면 "참 잘했어요!" 를 출력하고, return 을 만나서 메서드를 종료하는 거죠. "똑똑이" 가 아니라면, 밑에 출력문을 출력 하는 겁니다.

"똑똑이" 1번, ""똑똑이"가 아닌 거 1번 으로 호출 해 봤습니다.

이렇게  return 의 2번 째 기능에 대해 알아 보았습니다

 

여기까지 배운걸 응용해서 호출이 되면 "가위", "바위" "보" 라는 문자열을 반환하는 메서드를 만들어 봅시다.

먼저, 문자열을 반환하니까 반환형(Type return)이 뭐가 와야 겠어요? String 이 와야 겠죠

그리고 딱히 매개변수가 필요하진 않을 것 같으니까 매개변수는 안 받아 줄게요

이렇게 작성해주면 되겠습니다.

그리고 메서드 안으로 들어가 봅시다

자, 랜덤난수를 발생 시켜서 각각 다른 return 값을 발생 시켜 줄 겁니다

※ Math.random() 은 원래 double형의 값을 반환해주는 메서드 였던 겁니다 !

이제 메서드를 만들 었으니, main 에서 호출을 해봅시다

그런데 String을 반환하니까 그냥은 못쓰겠죠? 문자열을 저장하고 출력 해 봅시다.

 

★ 정리 ★

반환유형 (return type)
1. 반환유형은 메서드가 실행한 결과를 돌려주는 값에 대한 type 입니다.
2. 반환유형이 있는 메서드는 호출구문이 하나의 값이 되기 때문에 다른 메서드의 매개값으로도 사용됩니다.
ex) System.out.print( 메서드호출 );


3. 반환이 없는 메서드는 void라고 적습니다.
4. 모든 메서드는 return 키워드를 만나면 강제 종료 됩니다.
   그래서 void형 메서드에도 return키워드 사용이 가능하고, return 아래에는 코드 작성이 불가합니다.

 

이렇게 , 메서드의 반환형(return type) 에 대해 알아 보았습니다.

 

고생하셨습니다