각 구현에 필요한 최소 범위만 부여합니다.
stable API
inner 필요?
local 후보
anonymous/lambda
named type
핵심: 위로 승격할수록 재사용은 늘고 캡슐화 범위는 넓어집니다.