본문 바로가기
IT/java

자바(Java) 애너테이션

by 뉴코딩맨 2023. 6. 22.
Java에서 애너테이션은 코드에 메타데이터를 추가하는 방법으로 사용됩니다. 애너테이션은 프로그램의 실행 시간에 리플렉션을 통해 정보를 검색하거나 코드 생성 등의 작업을 수행하는 데 사용됩니다. Java 애너테이션에 대해 자세히 알아보고, 사용 방법과 예시를 알아보겠습니다.
 
 

애너테이션의 종류

Java 애너테이션은 다음과 같이 세 가지 유형으로 나눌 수 있습니다.
 

1. 메타 애너테이션 (Meta Annotation)

메타 애너테이션은 애너테이션을 정의하는 데 사용되는 애너테이션입니다. 자바에서는 다양한 메타 애너테이션을 제공하여 애너테이션의 범위, 적용 대상, 유효성 검사 등을 지정할 수 있습니다.

 

2. 빌트인 애너테이션 (Built-in Annotation)

빌트인 애너테이션은 자바에서 기본적으로 제공하는 애너테이션입니다. @Override, @Deprecated, @SuppressWarnings 등이 있으며, 컴파일러나 개발 도구에서 특정한 동작을 수행하도록 지정할 수 있습니다.
 

3. 커스텀 애너테이션 (Custom Annotation)

커스텀 애너테이션은 사용자가 직접 정의하는 애너테이션으로, 프로젝트의 요구에 맞게 사용자 정의 메타데이터를 추가할 수 있습니다. 커스텀 애너테이션은 @interface 키워드를 사용하여 정의됩니다.
 
 

사용 방법

Java 애너테이션을 사용하는 방법은 다음과 같습니다.
 
// 메타 애너테이션 예시
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomAnnotation {
	String value() default "";
}

// 애너테이션 사용 예시
public class MyClass {
    @CustomAnnotation("Hello, World!")
    public void myMethod() {
        // 메소드 구현
    }
}
 
위의 예시에서는 CustomAnnotation이라는 커스텀 애너테이션을 정의하고 있습니다. @Target 애너테이션은 애너테이션의 적용 대상을 지정하고, @Retention 애너테이션은 애너테이션의 유효 기간을 지정합니다. MyClass에서는 myMethod에 CustomAnnotation을 적용하고 있습니다.

 

 

애너테이션 프로세서

애너테이션 프로세서는 컴파일 시간에 애너테이션을 처리하고, 추가적인 코드를 생성하거나 특정 작업을 수행하는 데 사용됩니다. 예를 들어, 특정 애너테이션에 대한 유효성 검사, 코드 생성, 리소스 처리 등을 애너테이션 프로세서를 통해 자동화할 수 있습니다.
 
 

결론

Java 애너테이션은 코드에 메타데이터를 추가하여 다양한 작업을 수행하는 데 사용됩니다. 메타 애너테이션, 빌트인 애너테이션, 커스텀 애너테이션의 세 가지 종류로 나눌 수 있으며, 애너테이션 프로세서를 활용하여 추가적인 작업을 자동화할 수 있습니다. 애너테이션은 코드의 가독성과 유지 보수성을 향상시키는 데 도움이 되며, Java 개발자들에게 강력한 도구로 활용될 수 있습니다.
 

댓글