CH9-5 · DECISION

중첩 클래스와 익명 클래스의 선택 기준을 나란히 비교한다

비교 항목: static 중첩 클래스는 이름만 바깥 타입에 묶인다 / 내부 클래스는 바깥 객체 상태에 접근한다 / 지역·익명 타입은 사용 지점 가까이에 둔다

중첩 클래스와 익명 클래스 판단표
확인 질문판단 근거코드에서 드러낼 것
static 중첩 클래스는 이름만 바깥 타입에 묶인다바깥 인스턴스 참조가 없어 독립적으로 생성할 수 있습니다.타입과 시작값
내부 클래스는 바깥 객체 상태에 접근한다생성할 때 특정 바깥 인스턴스가 필요하며 그 참조를 유지합니다.실패 또는 변경 경계
지역·익명 타입은 사용 지점 가까이에 둔다메서드 지역의 effectively final 변수를 캡처할 수 있습니다.선택한 규칙의 결과

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