본문 바로가기
ETC/도서

[자바의 신] 17장. 어노테이션이라는 것도 알아야 한다

by sorryisme 2024. 9. 28.

애노테이션이란?

  • 클래스나 메소드 선언 시 @를 사용하는 것을 말한다
  • 메타 데이터
    • 컴파일러에게 정보를 알려주거나
    • 컴파일할 때 설치 시 작업을 지정하거나
    • 실행할 때 별도의 처리가 필요할 때

미리 정해져 있는 어노테이션

  • Override
  • Deprecated
  • SupressWarnings

어노테이션을 선언하기 위한 메타 어노테이션

어노테이션을 직접 선언할때 사용

  • Target : 어떤 어노테이션을 적용할지 선언할 때 사용
@Target(ElementType.METHOD)
  • Retention : 얼마나 오래 어노테이션 정보가 유지되는지 선언
@Retention(RetentionPolicy.RUNTIME)
  • Documented: 해당 어노테이션이 문서에 포함된다는 것 선언
  • Inherited: 모든 자식클래스에서 부모의 어노케이션을 사용가능하는 것을 선언

** @interface : 어노테이션을 선언할 때 사용

어노테이션의 선언

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface UserAnnotation {
    public int number();
    public String text() default "This is first annotation";
}