Java 입문 | 자바 기본 구조 | 어노테이션(Annotation)


자바 어노테이션(Java Annotation)

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

내장 애너테이션

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

자바 코드에 적용되는 내장 어노테이션

  • @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";
    }
}

참고