중첩 타입 선택은 연결·이름 범위·수명을 함께 묻는다

선언 문법이 아니라 바깥 객체 연결과 이름이 살아야 하는 최소 범위로 형태를 정합니다.

형태바깥 연결이름 범위
static nested없음클래스 내부
inner있음클래스 내부
local캡처 가능블록 내부
anonymous캡처 가능한 표현식
lambda새 this 없음함수형 행동
top-level명시 참조패키지

핵심: 새 요구가 현재 범위를 넘으면 타입을 승격하고 계약도 다시 설계합니다.