티스토리 뷰

스프링프레임워크

메타 어노테이션

잔잔한 물결처럼 2025. 2. 27. 19:18

커스텀 어노테이션에 정의를 추가하는 어노테이션을 메타 어노테이션이라고 한다. 메타 어노테이션은 커스텀 어노테이션을 만들 때만 사용하는 특수 어노테이션이다.

 

메타 어노테이션의 종류

어노테이션 종류 설명
@Target 커스텀 어노테이션이 무엇을 대상으로 하는지 선언하기 위해서 사용
@Retention 컴파일 할 때나 프로그램을 실행할 때 어노테이션의 정보를 보관 유지하는 유효 범위를 결정하기 위해 사용
@Documented 지정된 어노테이션을 Javadoc API 문서를 출력할 떄 표시되게 한다.
@Inherited 지정한 어노테이션을 부여한 클래스를 상속하면 하위 클래스도 그 어노테이션을 부여한 것으로 설정

 

@target 어노테이션을 추가할 수 있는 대상

ElementType 요소 추가할 대상
ElementType.ANNOTATION_TYPE 어노테이션
ElementType.CONSTRUCTOR 생성자
ElementType.FIELD 필드
ElementType.METHOD 메서드
ElementType.PACKAGE 패키지
ElementType.PARAMETER 인수
ElementType.TYPE 클래스, 인터페이스

 

@Retention 어노테이션의 유효범위 설정

상수 내용
SOURCE 소스가 유효 범위 컴파일할 때 어노테이션 정보가 삭제
CLASS 클래스 파일은 유효하지만 JVM에는 읽어들이지 않는다(기본값)
RUNTIME 실행 중일 때 JVM 에서 참조할 수 있는 가장 넓은 범위
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함