annotation 예제

Annotation(주석)은 소스 코드에 추가적인 정보를 제공하기 위해 사용되는 메타데이터입니다. 자바에서는 @ 기호를 사용하여 Annotation을 표시하며, 컴파일러나 프레임워크에게 특정한 작업을 수행하도록 지시할 수 있습니다. 이번 예제에서는 간단한 Annotation을 작성하고 사용하는 방법을 알아보겠습니다.

Annotation 작성하기

Annotation은 @interface 키워드를 사용하여 정의됩니다. 예를 들어, @Author라는 Annotation을 정의해보겠습니다.

public @interface Author {
    String name();
    String date();
}

위의 예제에서는 @Author라는 Annotation을 정의하였습니다. 이 Annotation은 namedate라는 두 가지 필드를 가지고 있습니다. 이제 이 Annotation을 사용하여 소스 코드에 추가적인 정보를 제공할 수 있습니다.

Annotation 사용하기

Annotation은 일반적으로 클래스, 메소드, 변수 등의 선언에 사용됩니다. 예를 들어, 다음과 같이 @Author Annotation을 사용하여 클래스에 작성자 정보를 추가할 수 있습니다.

@Author(name = "John", date = "2022-01-01")
public class MyClass {
    // 클래스 내용
}

위의 예제에서는 @Author(name = "John", date = "2022-01-01")라는 Annotation이 MyClass 클래스에 추가되었습니다. 이를 통해 해당 클래스의 작성자 정보를 알 수 있습니다.

Annotation 정보 읽기

Annotation 정보는 리플렉션(reflection)을 통해 읽어올 수 있습니다. 예를 들어, 다음과 같이 Annotation 정보를 읽어와 출력하는 메소드를 작성할 수 있습니다.

public static void printAuthorInfo(Class<?> clazz) {
    Author author = clazz.getAnnotation(Author.class);
    if (author != null) {
        System.out.println("작성자: " + author.name());
        System.out.println("작성일: " + author.date());
    } else {
        System.out.println("작성자 정보 없음");
    }
}

위의 예제에서는 printAuthorInfo라는 메소드를 작성하여 Annotation 정보를 출력합니다. Author Annotation을 사용한 클래스의 정보를 전달하면 해당 작성자 정보를 출력할 수 있습니다.

결론

Annotation은 소스 코드에 추가적인 정보를 제공하고 컴파일러 또는 프레임워크에게 특정 작업을 지시하는 데 사용됩니다. Annotation을 사용하여 코드의 가독성 및 유지보수성을 향상시킬 수 있으며, 리플렉션을 통해 Annotation 정보를 읽어와 활용할 수 있습니다.

#Java #Annotation