RetentionPolicy — 애너테이션 유지 정책 열거형

RetentionPolicy — 애너테이션 유지 정책 열거형

RetentionPolicy는 애너테이션 유지 정책(retention policy)을 나타내는 열거형입니다. 이 열거형의 상수들은 애너테이션을 유지하는 다양한 정책을 설명하며, @Retention 메타 애너테이션과 함께 사용해 애너테이션이 얼마나 오래 유지될지 지정합니다.

출처: Java API Reference

본문

public enum RetentionPolicy extends Enum<RetentionPolicy>

열거 상수

SOURCE, CLASS, RUNTIME
  • SOURCE — 컴파일러에 의해 폐기됩니다. 소스 코드에만 유지되며 클래스 파일에는 기록되지 않습니다.
  • CLASS — 컴파일러가 클래스 파일에 기록하지만 런타임에 JVM이 유지할 필요는 없습니다. 기본값입니다.
  • RUNTIME — JVM이 런타임에도 기록을 유지하므로 리플렉션으로 읽을 수 있습니다.

메서드

public static RetentionPolicy[] values()
public static RetentionPolicy valueOf(String name)

RUNTIME 정책은 커스텀 애너테이션을 리플렉션으로 분석하는 프레임워크(예: 의존성 주입, ORM)에서 자주 사용됩니다.

더 알아보기 (Learn more)