Java

[Java] 메타 애너테이션

Luke_look 2023. 7. 2. 21:11

메타 애너테이션(Meta-annotation)이란 다른 애너테이션에 적용되는 애너테이션을 말합니다. 메타 애너테이션은 애너테이션 선언에 사용되며, 그 애너테이션의 동작 방식을 정의합니다.

Java에는 다음과 같은 메타 애너테이션이 포함되어 있습니다:

 

@Retention: 애너테이션이 유지되는 시점을 지정합니다. RetentionPolicy.SOURCE는 컴파일 이후에는 제거되며, RetentionPolicy.CLASS는 컴파일러가 클래스 파일에 기록하지만 JVM이 무시하며, RetentionPolicy.RUNTIME은 JVM이 클래스를 메모리에 로드할 때까지 유지되므로 런타임 환경에서도 해당 애너테이션을 읽을 수 있습니다.

 

@Target: 애너테이션이 적용될 수 있는 Java 요소의 종류를 지정합니다. 예를 들어, ElementType.METHOD는 이 애너테이션을 메소드에 적용할 수 있음을 나타냅니다.

 

@Documented: 이 애너테이션이 사용된 요소를 Javadoc(공식문서)과 같은 문서에 포함시키도록 지시합니다.

 

@Inherited: 이 애너테이션을 가진 클래스를 상속하는 클래스가 애너테이션을 상속받을 수 있도록 합니다.

 

@Repeatable: 이 애너테이션이 동일한 요소에 여러 번 적용될 수 있도록 합니다. Java 8 이후에 도입되었습니다.

메타 애너테이션을 이용하여 애너테이션의 동작을 조정할 수 있습니다.

'Java' 카테고리의 다른 글

[Java] 참조와 접근  (0) 2023.07.08
[Java] Validation  (0) 2023.07.06
[Java Spring] HttpServletResponse  (0) 2023.07.02
[Java] split 메서드  (0) 2023.06.17
[Java] substring 메서드  (0) 2023.06.17