annotation class 예제

어노테이션 클래스는 자바에서 사용되는 메타데이터로, 프로그램의 구조, 동작 또는 컴파일 과정에 대한 정보를 제공합니다. 어노테이션 클래스는 주석과는 달리 코드 실행에 영향을 미치는 특별한 기능을 제공하며, 주로 프레임워크나 라이브러리에서 사용됩니다.

어노테이션 클래스를 정의하기 위해서는 @interface 키워드를 사용합니다. 예를 들어, 아래 코드는 @CustomAnnotation이라는 이름의 어노테이션 클래스를 정의하는 예제입니다.

public @interface CustomAnnotation {
    String value();
    int number() default 0;
}

위 예제에서는 value()number()라는 두 개의 속성을 가진 어노테이션 클래스를 정의하였습니다. value() 속성은 필수로 지정해야 하며, number() 속성은 기본값을 0으로 지정하여 선택적으로 사용할 수 있습니다.

어노테이션 클래스를 사용하기 위해서는 다음과 같이 @ 기호를 붙여서 어노테이션을 작성합니다. 아래 코드는 @CustomAnnotation을 사용하는 예제입니다.

@CustomAnnotation(value = "example", number = 42)
public class MyClass {
    // 클래스 내용
}

위 예제에서는 MyClass라는 클래스 위에 @CustomAnnotation을 작성하였습니다. value 속성은 “example”로, number 속성은 42로 지정되었습니다.

어노테이션 클래스는 컴파일러나 런타임 시점에 리플렉션을 사용하여 읽을 수 있으며, 프로그램의 동작이나 코드 생성에 활용될 수 있습니다. 프레임워크나 라이브러리에서는 어노테이션 클래스를 사용하여 사용자 정의 애노테이션을 작성하고 이를 통해 특정 동작이나 설정을 지정할 수 있습니다.

#자바 #어노테이션