[java] 애노테이션의 종류
내장 애노테이션(Built-in Annotations)
내장 애노테이션은 자바에서 기본적으로 제공되는 애노테이션으로, 주로 프레임워크와 라이브러리에 의해 사용됩니다.
@Override
: 메소드가 부모 클래스에서 오버라이딩되었음을 나타내는 애노테이션.@Deprecated
: 해당 요소가 더 이상 사용되지 않으며, 향후 버전에서 제거될 수 있음을 나타내는 애노테이션.@SuppressWarnings
: 특정 경고 메시지를 무시하도록 하는데 사용되는 애노테이션.
메타 애노테이션(Meta Annotations)
메타 애노테이션은 다른 애노테이션을 위한 애노테이션으로 사용되며, 애노테이션 정의에 부가적 정보를 제공합니다.
@Retention
: 애노테이션의 유지 정책을 지정하기 위해 사용되는 애노테이션.@Target
: 애노테이션이 적용될 대상을 지정하기 위해 사용되는 애노테이션.@Documented
: 애노테이션 정보가 javadoc에 포함되도록 하는 애노테이션.
사용자 정의 애노테이션(User-defined Annotations)
사용자는 필요에 따라 자신만의 애노테이션을 작성할 수 있으며, 이를 사용자 정의 애노테이션이라고 합니다. 사용자 정의 애노테이션을 작성하려면 @interface
키워드를 사용합니다.
@interface MyAnnotation {
String value();
int count() default 1;
}
위의 예시에서 MyAnnotation
은 사용자가 직접 정의한 애노테이션으로, value
와 count
라는 요소를 가지고 있습니다.
애노테이션은 자바 프로그래밍에서 메타데이터를 추가하고, 컴파일러, 런타임 라이브러리, 개발 도구 등과의 상호 작용을 강화하는데 중요한 도구로 활용됩니다.
이러한 다양한 애노테이션을 잘 활용하여 프로그래밍 작업을 보다 효과적으로 수행할 수 있습니다.
참고 문헌: https://docs.oracle.com/javase/tutorial/java/annotations/