<aside> 🐘

Class Reflection이란?

자바(Java)에서 런타임에 클래스, 메서드, 필드 등에 대한 정보를 조회하거나 조작할 수 있게 해주는 기능

</aside>

용어 요약

용어 설명
Class<?> 클래스에 대한 메타정보 객체
Reflection 런타임에 클래스 구조를 조회/조작하는 기술
Method, Field, Constructor 각각 메서드, 필드, 생성자 정보를 담은 객체들

Class Relfection 알아가기

Class<?>

Class<?> clazz = String.class;

Reflection (리플렉션)

Class 객체를 이용해서 클래스에 대해 동적으로 접근하는 기술

사용 예시 >

public class Person {
    public void sayHello() {
        System.out.println("Hello!");
    }
}
Class<?> clazz = Person.class;
Object obj = clazz.getDeclaredConstructor().newInstance();  // new Person()
Method method = clazz.getMethod("sayHello");                // 메서드 객체 얻기
method.invoke(obj);                                         // 메서드 실행