void 타입은 반환값이 없다고 했는데 이게 이해가 안갑니다 출력값 또는 return이 있으면 반환값이 있는거 아닌가요?
# void 타입 메소드는 값을 반환하지 않습니다. void 타입 메소드에 return 키워드가 사용되었다면, 이는 값을 반환 하는 것이 아니라 메소드를 종료 하는 것입니다. ## void 메소드에서 return을 사용한 경우 특별한 경우, void 메소드 내부에서 return 을 사용하여 메소드를 종료 시킬 수 있습니다. ``` public void printNickname(String nick) { // 별명이 바보라면? if ("바보".equals(nick)) { return; // 메소드를 종료 } System.out.println("나의 별명은 "+nick+" 입니다."); } ``` ## 출력과 반환은 다른 개념입니다. 출력: 컴퓨터 화면에 보여주는 것. ``` System.out.println("5"); // 화면에 "5"를 출력 ``` 반환: 컴퓨터 메모리(또는 변수)에 값을 전달하는 것. ``` int result = add(3, 4); // 3과 4를 입력값으로 add 메소드를 호출, 그 결과값을 result 변수로 대입(전달) ``` 결론적으로 void 타입의 메소드는 값을 전달 할 수 없고, 단지 출력만 가능합니다. ## 생각거리 아래의 코드는 동작(컴파일) 될까요? ``` int r = System.out.println(5); ```