JAVA/포스팅

자바 애너테이션 타입 정의하기

짜집퍼박사(짜박) 2023. 11. 21. 23:47

자바 애너테이션(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