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