<aside> 💡 정리

  1. 어노테이션은 JDK 1.5부터 나옴 메타데이터를 제공하여 활용하는 기능
  2. 리플렉션은 런타임에 동적으로 클래스, 메서드, 필드를 검사 및 조작하는 기능 </aside>

어노테이션(Annotation)

개념

어노테이션은 자바 5부터 도입된 문법 요소로, 코드에 주석처럼 추가되어 특별한 의미나 기능을 수행하도록 합니다. 어노테이션은 메타데이터로서 프로그램의 동작에 영향을 미치지 않지만, 컴파일러나 런타임 환경에서 특정 작업을 수행하도록 정보를 제공합니다

용도

커스텀 어노테이션

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

메타 어노테이션

어노테이션을 정의할 때 사용하는 어노테이션으로, 어노테이션의 동작을 제어합니다

리플렉션(Reflection)

개념

리플렉션은 런타임에 클래스, 메서드, 필드 등의 정보를 동적으로 검사하고 조작할 수 있는 기능을 제공합니다. 이를 통해 접근 제어자와 상관없이 클래스의 내부 구조에 접근할 수 있습니다

사용법