본문 바로가기
Language/Java

자바 void return 메소드 뜻부터 호출까지

by wakestand 2019. 11. 26.
반응형

자바에서 메소드는 두 가지의 데이터형을 갖는데

 

String, int, boolean 등 return을 사용하는 메소드와

void를 사용해 return이 없는 메소드로 나뉘어진다

 

위 예제를 보면

String 타입의 returnMethod와

void 타입의 voidMethod가 있는데

 

void 타입을 사용하지 않을 경우 반드시 return 값을 반환해야 한다

 

여기서 return 값이란?

메소드를 수행하면 String 타입으로 반환한다 했으니 (public String 메소드명..)

반드시 메소드에 String 타입의 값을 반환해야 한다

 

반면 void 타입은 아무것도 반환하지 않는다는 말이기 때문에

뭔가를 반환할 필요가 없다 

 

다시 예제로 올라가 returnMethod를 호출할 경우에는

"call"을 넣어 returnMethod를 호출했더니 

returnMethod 안에 있는 로컬 변수인

returnValue에 "call"을 넣어 초기화를 해 주고

그 값을 반환한다

 

반면 voidMethod의 경우에는

호출 시 no return 만 찍어주고 반환 없이 끝나는 것이 보인다

 

여기서 반환하지 않는다고 해서 void가 무조건 좋은 것은 아니고

return받은 값을 가지고 추가로 뭔가를 수행해야 할 때는

메소드를 일반적인 데이터형으로 설정한 후 반환받아서 코드를 계속 수행하게 된다

 

위 스크린샷에 사용된 코드는 아래와 같다

 

public class ReturnVoidTest {
	
	public String returnMethod(String paramValue) { // String return 메소드
		String returnValue = paramValue; // 값 넣어서 보내주면 returnValue에 넣어 초기화
		
		return returnValue; // 값 반환
	}
	
	public void voidMethod() { // void 메소드
		System.out.println("no return"); // void 메소드는 return 값이 없음
	}

	public static void main(String[] args) {
		ReturnVoidTest rvt = new ReturnVoidTest(); // 객체화
		
		System.out.println(rvt.returnMethod("call")); // returnMethod 호출
		rvt.voidMethod();			     // voidMethod 호출
	}

}
반응형

댓글