자바 애너테이션

자바 애너테이션(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";
    }
}

같이 보기 
 자바 가상 머신

각주

외부 링크 
 An Introduction to Java Annotations by M. M. Islam Chisty 

자바 (프로그래밍 언어)
자바 사양 요청