아마 저번주 금요일에 작성한거 같은데 임시저장만된것 같다..
@Target({ElementType.TYPE})
@Target({ElementType.FIELD, ElementType.PARAMETER})
차이점은 무엇일까
@Target({ElementType.TYPE})
이 설정은 어노테이션이 클래스, 인터페이스 (포함하여 어노테이션 인터페이스), 열거형에 적용될 수 있음을 나타낸다
예를 들어, 클래스 레벨의 유효성 검사를 정의할 때 이 타겟을 사용한다.
@Target(ElementType.TYPE)
public @interface MyAnnotation {
}
@MyAnnotation
public class MyClass {
}
@Target({ElementType.FIELD, ElementType.PARAMETER})
이 설정은 어노테이션이 필드(클래스 멤버 변수)와 메소드 매개변수에 적용될 수 있음을 나타낸다.
필드 또는 메소드 매개변수에 특정 동작이나 제약을 적용하는 데 사용된다.
@Target({ElementType.FIELD, ElementType.PARAMETER})
public @interface MyFieldAnnotation {
}
public class MyClass {
@MyFieldAnnotation
private String myField;
public void myMethod(@MyFieldAnnotation String parameter) {
}
}