CH9-5 · MODEL

중첩 클래스와 익명 클래스: 먼저 구분할 경계

한 타입의 구현 세부 사항으로만 쓰이는 작은 타입은 바깥 클래스 안에 둘 수 있습니다.

핵심 경계

static 중첩 클래스는 이름만 바깥 타입에 묶인다

바깥 인스턴스 참조가 없어 독립적으로 생성할 수 있습니다.

핵심 경계

내부 클래스는 바깥 객체 상태에 접근한다

생성할 때 특정 바깥 인스턴스가 필요하며 그 참조를 유지합니다.

핵심 경계

지역·익명 타입은 사용 지점 가까이에 둔다

메서드 지역의 effectively final 변수를 캡처할 수 있습니다.

핵심 경계 바깥 인스턴스 참조가 없어 독립적으로 생성할 수 있습니다.