1. 리플렉션(Reflection)이란

1️⃣ 정의

리플렉션이란 실행 중(Runtime)에 클래스의 구조(필드, 메서드, 생성자, 애노테이션 등)를 분석하고 조작할 수 있는 기능입니다.

“컴파일 시점이 아니라

실행 시점에 클래스 정보를 들여다보고 다룬다”


2. 리플렉션이 필요한 이유

일반적인 Java 코드 ❌

User user = new User();
user.setName("Kim");

리플렉션 사용 ⭕

Class<?> clazz = Class.forName("com.example.User");
Object obj = clazz.getDeclaredConstructor().newInstance();

👉 프레임워크 기반 구조의 핵심


3. Class 객체

1️⃣ 정의

Class 객체는 클래스 자체의 메타데이터를 담고 있는 객체입니다.