애너테이션 (Annotation)

Mixer·2022년 5월 19일
0

애너테이션

  • 주석은 소스 코드를 읽는 사람에게 정보를 제공한다
  • 애너테이션은 프로그램에게 정보를 제공한다

JDK에서 제공하는 표준 애너테이션은 주로 컴파일러를 위한 것으로 컴파일러에게 유용한 정보를 제공한다.
JDK에서 제공하는 애너테이션은 java.lang.annotation 패키지에 포함되어 있다.

애너테이션의 용도

다른 프로그램에게 어떤 정보를 제공하기 위해 애너테이션을 사용한다고 명시했다.
구체적으로 풀어내면,

  • 컴파일러에게 문법 에러를 체크하도록 정보를 제공
  • 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공
  • 런타임에 특정 기능을 실행하도록 정보를 제공

애너테이션 종류

표준 애너테이션설명
@override컴파일러에게 오버라이딩하는 메서드라는 것을 알린다
@Deprecated앞으로 사용하지 않을 것을 권장하는 대상에게 사용한다
@SuppressWarnings컴파일러의 특정 경고 메세지가 나타나지 않게 해준다
@SafeVarargs제네릭 타입의 가변 인자에 사용한다.
@FuntionalInterface함수형 인터페이스라는 것을 알린다
@Nativenative메서드에서 참조되는 상수 앞에 붙인다
메타 애너테이션설명
@Targer애너테이션이 적용 가능한 대상을 지정한다
@Documented애너테이션 정보가 javadoc으로 작성된 문서에 포함되게 한다
@Inherited애너테이션이 하위 클래스에 상속 되도록 한다
@Retention애너테이션이 유지되는 범위를 지정하는데 사용한다
@Repeatable애너테이션을 반복적으로 적용되게 한다

사용자 정의 애너테이션

직접 애너테이션을 정의해서 사용할 수 있다
애너테이션을 정의하는 방법은 인터페이스를 정의하는 법과 비슷하다.
애너테이션은 java.lang.annotation 인터페이스를 상속받기 때문에 다른 클래스나 인터페이스를 상속 받을수 없다.

profile
Minthug'life

0개의 댓글