반응형
자바에서 메소드는 두 가지의 데이터형을 갖는데
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 호출
}
}
반응형
'Language > Java' 카테고리의 다른 글
자바 Set 사용법부터 출력까지 (0) | 2019.11.27 |
---|---|
자바 set 정렬 기준 및 예제 (0) | 2019.11.26 |
자바 List 정렬, 역정렬 방법 및 예제 (0) | 2019.11.25 |
자바 List 정의부터 출력까지 (0) | 2019.11.25 |
자바 ArrayList, LinkedList 차이 예제로 알아보기 (0) | 2019.11.19 |
댓글