소비 시점에 맞는 retention을 선택한다

무조건 RUNTIME을 쓰면 class metadata와 리플렉션 비용을 늘리고 SOURCE면 runtime scanner가 볼 수 없습니다.

Retention소비자
SOURCEcompiler·lintgenerated code hint
CLASSbytecode toolinstrumentation metadata
RUNTIMEreflection frameworkroute·validator
불필요 runtime없음제거·낮추기

핵심: 누가 소비하는지 먼저 정합니다.