본문 바로가기
Java

[Java] 메서드 / 리턴 값 명시 / void와 void 자리에 자료형 명시에 이유

by bkuk 2022. 9. 27.

 

'void'

 

메소드 앞에 있는 문자(void)에 대해서 알아보겠습니다.


아래 코드를 살펴보겠습니다.

'doFunc1' 라는 메소드가 있고, 이 메소드를 '1' 이라는 인자를 넣어서 호출하고 있습니다.

결과는, 오류없이 출력되는 것을 아래 그림을 통해 확인해볼 수 있습니다.

 

 

그렇다면 아래 표시한 'void' 단어의 의미는 무엇일까요?

 

결론부터 말씀드리면,

메소드의 return값이 없음(void: 사전적으로 "텅 빈" 이라는 뜻)을 의미합니다.

 

return이란?  
return 뒤에 따라오는 값을 메소드의 결과로 반환하고, 메소드를 종료 시킵니다.
주의해야할 점은 return을 통해서 반환할 값의 데이터 형식을 메소드의 이름 옆에 명시해주어야 한다는 것입니다.

 


 

아래는 두개의 수를 입력받아 덧셈을 한 후 결과를 반환하는 메소드 입니다.

입력받은 data1과 data2를 더한 결과'sum' 이라는 정수형 변수에 담고,

 

이 변수를 반환 후 종료하는 메서드 입니다.

 

반환하는 데이터 타입은 정수형이니,

메서드 앞에 데이터 타입이 정수형을 의미하는 int를 추가해줬습니다.

 

 

 

그렇다면, 위 예제에서 정수형을 의미하는 데이터 타입이 아닌

리턴값이 없다는 void로 변경한다면?

첫번째로는

incompatible types : unexpected return value

호환되지 않는 유형: 예상하지 못했던 반환 값이라는 에러를 출력

 

두범째로는

incompatible types : void cannot be converted to int 

호환되지 않는 유형: void를 int로 변환할 수 없다는 에러를 출력

댓글