자바에서는 크게 컴파일타임 -> 런타임 이런식으로 동작을 나눌 수 있다.이때 런타임에 클래스, 메서드, 필드 등의 정보를 동적으로 확인하고 조작할 수 있는 기능을 리플렉션 이라고 한다.주로 java.lang.reflect 패키지에 포함된 클래스와 인터페이스를 통해 제공된다.이를 활용하면 컴파일 시간에 알 수 없는 객체나 클래스의 구조를 런타임에 확인하고 조작할 수 있다. 리플렉션의 주요 기능1.클래스의 정보 탐색- 클래스 이름, 패키지 이름, 수퍼 클래스, 구현 인터페이스 등을 확인 가능.2.필드, 메서드, 생성자 접근- 클래스의 필드, 메서드, 생성자 정보를 가져오고 수정하거나 호출 가능. 3.객체 생성- 클래스의 생성자를 사용하여 객체를 동적으로 생성할 수 있음.4.접근제어 무시- private 접근..