[java] 애노테이션의 주요 기능

애노테이션(Annotation)은 Java 프로그래밍 언어의 중요한 기능 중 하나입니다. 애노테이션은 프로그램에 메타데이터를 포함하고, 컴파일 타임과 런타임에 정보를 제공하는 데 사용됩니다. 이번 블로그에서는 Java 애노테이션의 주요 기능에 대해 알아보겠습니다.

1. 코드 문서화

애노테이션은 코드에 문서화 정보를 추가하는 데 사용됩니다. @Deprecated 애노테이션은 코드가 더 이상 사용되지 않는 것을 나타내며, 개발자에게 해당 코드를 사용하지 말고 다른 대안을 찾도록 유도합니다.

@Deprecated
public void oldMethod() {
    // 
}

2. 컴파일러 정보 제공

애노테이션을 사용하여 컴파일러에게 특정한 정보를 전달할 수 있습니다. 예를 들어, @SuppressWarnings 애노테이션은 컴파일러 경고를 무시하도록 지시합니다.

@SuppressWarnings("unchecked")
List list = new ArrayList();

3. 런타임 검증

애노테이션을 사용하여 런타임에 검증을 수행할 수 있습니다. @NonNull 애노테이션은 메소드 매개변수나 리턴 값이 null이 아님을 검증하는 데 사용될 수 있습니다.

public void setName(@NonNull String name) {
    this.name = name;
}

4. 리플렉션

애노테이션은 리플렉션(Reflection)을 통해 런타임에 클래스나 메소드 등의 정보를 읽을 때 유용하게 활용됩니다.

Annotation[] annotations = MyClass.class.getAnnotations();
for (Annotation annotation : annotations) {
    // process annotations
}

Java 애노테이션은 다양한 기능을 제공하여 프로그램의 가독성, 유지보수성, 안정성 등을 향상시키는 데 도움을 줍니다.

참고문헌: