[java] 애노테이션의 활용 사례 소개

자바에서 애노테이션은 소스 코드에 메타데이터를 추가하여 컴파일러에 정보를 전달하거나 런타임에 특정 작업을 수행하는 데 사용됩니다. 이번 글에서는 애노테이션의 다양한 활용 사례에 대해 알아보겠습니다.

1. 애노테이션을 통한 컴파일 타임 체크

애노테이션을 사용하여 컴파일러가 코드에 대해 추가적인 검사를 수행하도록 유도할 수 있습니다. 예를 들어, @Deprecated 애노테이션은 해당 메서드가 더 이상 사용되지 않음을 나타내며, 컴파일러는 사용자에게 경고 메시지를 통해 이를 알립니다.

@Deprecated
public void oldMethod() {
    // 내용 생략
}

2. 애노테이션을 활용한 런타임 처리

애노테이션을 사용하여 런타임에 특정 작업을 수행할 수 있습니다. 예를 들어, 스프링 프레임워크에서 @Component 애노테이션을 사용하여 해당 클래스를 빈으로 등록하거나, @Transactional 애노테이션을 사용하여 트랜잭션을 처리합니다.

@Component
public class SampleComponent {
    // 내용 생략
}

3. 애노테이션을 활용한 리플렉션

애노테이션을 통해 리플렉션을 활용할 수 있습니다. 리플렉션을 사용하면 런타임에 클래스의 구조를 분석하고, 필드, 메서드, 애노테이션 등에 접근할 수 있습니다.

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface CustomAnnotation {
    String value();
}

public class MyClass {
    @CustomAnnotation("Example")
    public void myMethod() {
        // 내용 생략
    }
}

애노테이션을 효과적으로 활용하면 컴파일 타임과 런타임에서 추가적인 작업을 수행하거나 유연하게 코드를 처리할 수 있습니다.

이상으로 애노테이션의 활용 사례에 대해 알아보았습니다.

Reference: