자바 애너테이션

자바 애너테이션(Java Annotation)은 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종이다. 보통 @ 기호를 앞에 붙여서 사용한다. JDK 1.5 버전 이상에서 사용 가능하다. 자바 애너테이션은 클래스 파일임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동한다.

내장 애너테이션

자바는 언어에 내장된 애너테이션들의 집합을 정의한다. 7개의 표준 애너테이션 중에 3개가 java.lang의 일부이며, 나머지 4개는 java.lang.annotation으로부터 가져온다.[1][2]

자바 코드에 적용되는 내장 애너테이션
  • @Override
  • @Deprecated
  • @SuppressWarnings
기타 애너테이션에 적용되는 애너테이션 (메타 애너테이션)
  • @Retention
  • @Documented
  • @Target
  • @Inherited

자바 7부터 추가 애너테이션이 언어에 추가되었다.

  • @SafeVarargs
  • @FunctionalInterface
  • @Repeatable

예제

다음은 @override 애너테이션의 예제이다.

public class Animal {    public void speak() {    }    public String getType() {        return "Generic animal";    }}public class Cat extends Animal {    @Override    public void speak() { // This is a good override.        System.out.println("Meow.");    }    @Override    public String getType() { // Compile-time error due to mistyped name.        return "Cat";    }}

같이 보기

각주

외부 링크