티스토리 뷰
커스텀 어노테이션에 정의를 추가하는 어노테이션을 메타 어노테이션이라고 한다. 메타 어노테이션은 커스텀 어노테이션을 만들 때만 사용하는 특수 어노테이션이다.
메타 어노테이션의 종류
어노테이션 종류 | 설명 |
@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 에서 참조할 수 있는 가장 넓은 범위 |
'스프링프레임워크' 카테고리의 다른 글
PostgreSQL 설명 (0) | 2025.02.28 |
---|---|
Spring Initializr (0) | 2025.02.27 |
스프링 프레임워크에서의 AOP(관점 지향 프로그래밍) (0) | 2025.02.27 |
어노테이션 역할 (0) | 2025.02.27 |
스프링 프레임워크의 핵심 기능 (0) | 2025.02.26 |