더북(TheBook)

다음과 같이 호출하면 참조 frede 변수로 복사된다.

boss.replaceWithZombie(fred);


그런 다음 e는 다른 참조로 설정된다. 메서드가 끝날 때 e는 유효 범위를 벗어난다. 결국 fred는 어디서도 변경되지 않았다.

Note ≣

자바는 객체에 ‘참조를 이용한 호출’을 사용한다고 말하는 사람도 더러 있다. 두 번째 예제에서 보았듯이 이 말은 사실이 아니다. 참조를 이용한 호출을 지원하는 언어에서는 메서드가 전달받은 변수의 내용을 다른 것으로 교체할 수 있다. 자바에서는 기본 타입 값은 물론 객체 참조까지 모든 매개변수가 값으로 전달된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.