어노테이션(Annotation)은 프로그래밍 언어나 마크업 언어에서 메타데이터를 나타내는 방법 중 하나다. 주석과 비슷한 역할을 하지만, 주석이 프로그램 실행에 영향을 미치지 않고 소스 코드의 설명이나 문서화를 위해 사용되는 반면, 어노테이션은 소스 코드에 메타정보를 첨부하여 컴파일러나 런타임 환경에서 특정 동작이나 처리를 수행하도록 지시할 수 있습니다.
어노테이션은 "@" 기호를 사용하여 표시하며, 클래스, 메서드, 필드 등에 적용할 수 있습니다. 어노테이션을 정의하거나 사용할 때, 특정 기능을 활성화하거나 설정을 변경할 수 있습니다. 예를 들어, 자바 프로그래밍에서는 @Override 어노테이션을 사용하여 상위 클래스의 메서드를 오버라이드한다고 명시하거나, @Deprecated 어노테이션을 사용하여 해당 요소가 더 이상 권장되지 않는다고 표시할 수 있습니다.
어노테이션은 주로 자동화된 코드 생성, 런타임 동작 제어, 문서화 등 다양한 목적으로 활용됩니다. 어노테이션을 사용하면 프로그램의 가독성을 높이고, 코드의 의도나 정보를 명확하게 전달할 수 있습니다.
@interface 키워드를 사용합니다. 내부적으로는 인터페이스를 정의하는 것과 유사합니다.import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Log {
String value() default ""; // 어노테이션 속성 정의
}
@ 기호를 이용하여 해당 어노테이션을 사용합니다.public class Example {
@Log("This method is performing some important action")
public void performAction() {
// 메소드 내용
}
}