Target
Target
이 문서에서는 Target 설정 옵션의 종류와 특징에 대해 다룬다.
@interface Target
Library에서 Target 코드를 찾아보면 다음과 같다. 편의상 주석은 제거하였다.
@Documented
- 작성된 Annotation이 Javadoc에 문서화 됨을 표시@Retention
- 현재 Annotation이 RUNTIME 시점까지 유지되어야 함을 표시
enum ElementType
Target Annotation 내부에는 ElementType이 배열 형태로 설정될 수 있다. ElementType은 열거형(enum)으로 다음과 같이 구현되어 있다.
설정 가능한 ElementType 값은 다음과 같다.
기본
TYPE - 클래스, 인터페이스, Annotation, Enum을 대상으로 지정
FIELD - 열거형 상수를 포함한 필드를 대상으로 지정
METHOD - 메소드를 대상으로 지정
PARAMETER - 매개변수를 대상으로 지정
CONSTRUCTOR - 생성자를 대상으로 지정
LOCAL_VARIABLE - 지역변수를 대상으로 지정
ANNOTATION_TYPE - Annotation을 대상으로 지정
PACKAGE - Package를 대상으로 지정(package-info.java에서 사용 가능)
추가(JDK 1.8+)
TYPE_PARAMETER - 타입 파라미터(in 제네릭)를 대상으로 지정
TYPE_USE - 타입 파라미터를 포함한 모든 타입을 대상으로 지정
ElementType.TYPE
TypeAnnotation.java
ElementType.FIELD
FieldAnnotation.java
ElementType.METHOD
MethodAnnotation.java
ElementType.PARAMETER
ParameterAnnotation.java
ElementType.CONSTRUCTOR
ConstructorAnnotation.java
ElementType.LOCAL_VARIABLE
LocalVariableAnnotation.java
ElementType.ANNOTATION_TYPE
AnnotationTypeAnnotation.java
ElementType.PACKAGE
PackageAnnotation.java
ElementType.TYPE_PARAMETER
TypeParameterAnnotation.java
ElementType.TYPE_USE
TypeUseAnnotation.java
예제 - Annotation 작성 가능 위치 확인
Last updated