[JAVA] @Target annotation 알아보기

fooooif·2021년 5월 11일
1
post-thumbnail

✍ 정리할 내용

@Target annotaion 이란?

annotation이 선언할 때 @Target이라는 annotation이 있다.

@Target annotation은 사용자가 만든 annotion이 부착될 수 있는 타입을 지정하는 것이다.


👉 정리하기

밑에 사진은 Target annotation을 구현한 부분이다.
value에는 ElementType이라는 Enum객체를 사용한다.

@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
	ElementType[] value();
}

구현 코드를 보면 위에 ANNOTATION_TYPE이 들어간다. 그래서 Target이라는 annotation은 annotation에만 부착될 수 있다.
타겟이 들어 갈 수 있는 내용은 밑에 표를 보면 알 수 있다.

value
ANNOTATION_TYPE어노테이션
CONSTRUCTOR생성자
FIELD필드 선언 (emum 정수 포함)
LOCAL_VARIABLE 로컬 변수
METHOD 메서드
PARAMETER 파라미터
PACKAGE패키지
TYPE 클래스, 인터페이스 (어노테이션을 포함), enum


예시를 든 Annotation이다 TestAnnotation에 Target annotation을 붙혀 위에 표와같이 METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE에서 사용할 수 있게 만들었다.
밑에는 TestAnnotaion을 사용하여 만든 코드이다

이와같이 Class Field Method Constructor Annotation에 TestAnnotation을 붙힐 수 있는 것을 알 수 있었다.

profile
열심히 하자

0개의 댓글