java annotation 에제

Java에서 어노테이션(annotation)은 코드에 부가적인 정보를 추가하기 위해 사용됩니다. 어노테이션은 소스 코드에 주석처럼 표시되지만, 컴파일러나 런타임 시에 의미 있는 정보로 활용됩니다.

아래는 Java에서 어노테이션을 사용하는 예제 코드입니다:

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

// 어노테이션 정의
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomAnnotation {
    String value() default "";
    int version() default 1;
}

// 어노테이션 사용
@CustomAnnotation(value = "Example", version = 2)
public class Main {
    public static void main(String[] args) {
        // 어노테이션 정보 추출
        CustomAnnotation annotation = Main.class.getAnnotation(CustomAnnotation.class);
        String value = annotation.value();
        int version = annotation.version();

        System.out.println("Value: " + value);
        System.out.println("Version: " + version);
    }
}

위의 코드에서 어노테이션은 @CustomAnnotation으로 정의되고, 메타 어노테이션인 @Retention을 사용하여 어노테이션의 유지 정책을 설정합니다. @CustomAnnotationvalueversion이라는 요소를 가지며, 기본값은 각각 빈 문자열과 1입니다.

Main 클래스에 @CustomAnnotation을 사용하여 어노테이션의 값(value)과 버전(version)을 설정합니다. 메인 메서드에서는 Main.class.getAnnotation(CustomAnnotation.class)를 통해 어노테이션 정보를 추출하고 출력합니다.

이 예제는 컴파일 시에 어노테이션 정보를 유지시키기 위해 RetentionPolicy.RUNTIME을 설정하여 런타임에 어노테이션 정보에 접근할 수 있도록 합니다.

이처럼 Java 어노테이션은 코드에 부가적인 정보를 제공할 수 있으며, 다양한 상황에서 유용하게 활용될 수 있습니다.

#Java #Annotation