어노테이션(Annotations)은 메타데이터를 코드에 추가하여 컴파일러나 런타임 환경에서 활용할 수 있도록 하는 Java의 기능입니다. 주석과는 다르게, 프로그램의 동작에 영향을 줄 수 있습니다.
@Deprecated).@Retention(RetentionPolicy.RUNTIME)).@Test).어노테이션을 정의할 때는 @interface 키워드를 사용합니다.
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
// 어노테이션 정의
@Retention(RetentionPolicy.RUNTIME) // 런타임에도 유지됨
@Target(ElementType.CLASS) // 메서드에만 적용 가능
public @interface MyAnnotation {
String value() default ""; // 기본값 설정 가능
}
위 코드에서:
@Retention(RetentionPolicy.RUNTIME): 실행 중에도 어노테이션 정보를 유지합니다.@Target(ElementType.METHOD): 메서드에서만 사용할 수 있도록 제한합니다.어노테이션을 선언한 후, 클래스 또는 메서드에 적용할 수 있습니다.
@MyAnnotation(value = "Hello") //myclass에 어노테이션을 적용한것
public class MyClass {
@MyAnnotation(value = "Test Method") //myMethod에 어노테이션을 적용한것
public void myMethod() {
// 메서드 내용
}
}
어노테이션을 적용할 때는 @어노테이션이름(요소 값) 형태로 사용하며, 요소 값은 생략할 수도 있습니다.