더북(TheBook)

Note ≣

내부 클래스에는 컴파일 시간 상수 외에 정적 멤버를 선언할 수 없다. ‘정적’이라는 의미가 모호할 수도 있다. 이 용어는 가상 머신 안에 인스턴스가 하나만 있음을 의미할까, 아니면 외부 클래스 객체마다 인스턴스가 하나만 있음을 의미할까? 언어 설계자는 이 문제를 짚고 넘어가지 않기로 했다.


Note ≣

가상 머신의 명세를 완성한 것으로 보던 시기에 역사적인 실수를 해서 자바 언어에 내부 클래스가 추가되었다. 그래서 내부 클래스는 자신을 감싸고 있는 인스턴스를 참조하는 숨은 인스턴스 변수를 멤버로 가진 일반 클래스로 변환된다. 연습문제 14에서 이 변환을 조사해 볼 것이다.


Note ≣

지역 클래스(local class)는 내부 클래스의 또 다른 변형이다(3장 인터페이스와 람다 표현식에서 자세히 설명한다).

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