자바 애너테이션(Annotation)을 정의할 때는 @interface를 사용하여 애너테이션 타입을 선언합니다. 애너테이션은 주로 소스 코드에 정보를 추가하거나 컴파일러에게 특정 작업을 수행하도록 지시하는 데 사용됩니다. 다음은 애너테이션 타입을 정의하는 방법에 대한 설명입니다.
1. 애너테이션 타입 선언
public @interface MyAnnotation {
// 애너테이션 멤버
String value(); // 기본 요소 (element)
int number() default 42; // 기본값이 있는 멤버
String[] names(); // 배열을 사용하는 멤버
}
- @interface : 애너테이션을 정의할 때 사용되는 키워드입니다.
- MyAnnotation : 애너테이션의 이름입니다.
2. 애너테이션 멤버 (Element)
- 애너테이션은 멤버(요소)를 가질 수 있습니다.
- 멤버는 메서드처럼 선언되어야 합니다.
- 애너테이션 멤버는 기본적으로 public abstract입니다.
2.1 기본 요소 (Default Element)
String value();
- value : 애너테이션을 사용할 때 값을 전달할 수 있는 기본 요소입니다.
- 애너테이션을 사용할 때 @MyAnnotation("someValue")와 같이 간단하게 사용할 수 있습니다.
2.2 기본값이 있는 멤버
int number() default 42;
- number : 애너테이션 멤버에 기본값을 설정할 수 있습니다.
- 애너테이션을 사용할 때 해당 멤버에 값을 지정하지 않으면 기본값이 사용됩니다.
2.3 배열을 사용하는 멤버
String[] names();
- names : 배열을 사용하여 여러 값을 전달할 수 있습니다.
3. 애너테이션 사용
@MyAnnotation(value = "Hello", number = 24, names = {"Alice", "Bob"})
public class MyClass {
// 클래스 내용
}
- @MyAnnotation : 애너테이션을 클래스에 적용합니다.
- 애너테이션 멤버의 이름을 명시적으로 지정하여 값을 전달할 수 있습니다.
애너테이션을 정의할 때, 사용할 목적에 따라 적절한 멤버를 정의하고 필요에 따라 기본값을 설정하여 편리하게 사용할 수 있도록 설계하는 것이 중요합니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 쓰레드의 구현과 실행 (0) | 2023.11.21 |
---|---|
자바 쓰레드(Thread) (0) | 2023.11.21 |
자바 메타 애너테이션 (0) | 2023.11.21 |
자바 표준 애너테이션 (0) | 2023.11.21 |
자바 애너테이션 (0) | 2023.11.21 |