3. 어노테이션

어노테이션(Annotations)은 메타데이터를 코드에 추가하여 컴파일러나 런타임 환경에서 활용할 수 있도록 하는 Java의 기능입니다. 주석과는 다르게, 프로그램의 동작에 영향을 줄 수 있습니다.

어노테이션의 주요 역할


3.1 어노테이션 정의(어노테이션 생성하는 사람에게 필요함)

어노테이션을 정의할 때는 @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 "";  // 기본값 설정 가능
}

위 코드에서:


어노테이션 사용 예제(우린 주로 사용한다)

어노테이션을 선언한 후, 클래스 또는 메서드에 적용할 수 있습니다.

@MyAnnotation(value = "Hello") //myclass에 어노테이션을 적용한것
public class MyClass {
    @MyAnnotation(value = "Test Method") //myMethod에 어노테이션을 적용한것
    public void myMethod() {
        // 메서드 내용
    }
}

어노테이션을 적용할 때는 @어노테이션이름(요소 값) 형태로 사용하며, 요소 값은 생략할 수도 있습니다.


3.1.1 리플렉션을 활용한 어노테이션 값 읽기(이건 생성하는 사람에게 필요함)