728x90
반응형
@Target
@Target 어노테이션은 Java 어노테이션을 어떤 요소(Element)에 적용할 수 있는지를 지정하는데 사용된다. @Target 어노테이션은 어떤 종류의 Java 요소에 어노테이션을 적용할 수 있는지를 나타내는 열거형 상수(ElementType) 배열을 값으로 가진다. 여기서 ElementType.TYPE은 어노테이션을 클래스, 인터페이스, 열거형(enum) 등의 타입 선언에 적용할 수 있음을 나타낸다.
ElementType 종류
@Target 어노테이션은 다양한 ElementType 상수와 함께 사용될 수 있으며, 주요 ElementType 상수는 다음과 같다:
- ElementType.TYPE: 클래스, 인터페이스, 열거형(enum) 등의 타입 선언에 어노테이션을 적용할 수 있음을 나타낸다.
- ElementType.FIELD: 필드(멤버 변수)에 어노테이션을 적용할 수 있음을 나타낸다.
- ElementType.METHOD: 메서드에 어노테이션을 적용할 수 있음을 나타낸다.
- ElementType.PARAMETER: 메서드의 매개변수에 어노테이션을 적용할 수 있음을 나타낸다.
- ElementType.CONSTRUCTOR: 생성자에 어노테이션을 적용할 수 있음을 나타낸다.
- ElementType.LOCAL_VARIABLE: 로컬 변수에 어노테이션을 적용할 수 있음을 나타낸다.
- ElementType.ANNOTATION_TYPE: 어노테이션 타입에 어노테이션을 적용할 수 있음을 나타낸다.
- ElementType.PACKAGE: 패키지 선언에 어노테이션을 적용할 수 있음을 나타낸다.
예시
예를 들어, 다음과 같이 @Target 어노테이션을 사용하여 어노테이션이 클래스 선언에만 적용되도록 지정할 수 있다
@Target(ElementType.TYPE)
public @interface MyAnnotation {
// 어노테이션 내용
}
이렇게 하면 MyAnnotation 어노테이션을 클래스 선언에만 적용할 수 있게 된다. 다른 ElementType 상수를 사용하면 다른 종류의 요소에 어노테이션을 적용할 수 있다.
728x90
반응형
댓글