리플렉션이란 실행 중(Runtime)에 클래스의 구조(필드, 메서드, 생성자, 애노테이션 등)를 분석하고 조작할 수 있는 기능입니다.
“컴파일 시점이 아니라
실행 시점에 클래스 정보를 들여다보고 다룬다”
User user = new User();
user.setName("Kim");
Class<?> clazz = Class.forName("com.example.User");
Object obj = clazz.getDeclaredConstructor().newInstance();
👉 프레임워크 기반 구조의 핵심
Class 객체는 클래스 자체의 메타데이터를 담고 있는 객체입니다.