Annotation(주석)은 소스 코드에 추가적인 정보를 제공하기 위해 사용되는 메타데이터입니다. 자바에서는 @
기호를 사용하여 Annotation을 표시하며, 컴파일러나 프레임워크에게 특정한 작업을 수행하도록 지시할 수 있습니다. 이번 예제에서는 간단한 Annotation을 작성하고 사용하는 방법을 알아보겠습니다.
Annotation 작성하기
Annotation은 @interface
키워드를 사용하여 정의됩니다. 예를 들어, @Author
라는 Annotation을 정의해보겠습니다.
public @interface Author {
String name();
String date();
}
위의 예제에서는 @Author
라는 Annotation을 정의하였습니다. 이 Annotation은 name
과 date
라는 두 가지 필드를 가지고 있습니다. 이제 이 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