정리
Reflection이란?
- Java에서 기본적으로 제공하는 API
- 객체를 통해 클래스의 정보를 분석해내는 기법
- 실행 중인 자바 프로그램 내부를 검사하고, 내부의 속성을 수정할 수 있도록 함
- 즉, 클래스, 인터페이스, 메소드들을 찾을 수 있고 객체를 생성하거나 변수를 변경할 수도 있으며, 메소드를 호출할 수도 있음
- 안드로이드의 Hidden method 호출 시 사용 가능
- 테스트 코드 작성을 위해 private 변수를 변경할 때 사용 가능. (리플렉션을 사용하면 라이브러리의 코드 변경 없이 값을 변경할 수 있다.)
Reflection의 특징
- reflection class :
java.lang.reflect
- Reflection은 다음과 같은 정보를 가져올 수 있다.
- Class
- Constructor
- Method
- Field
Hibernate JPA와 Lombok은 Reflection을 사용한다.
그러므로, 기본 생성자를 잊지말고 꼭 넣어주도록 하자.
참고 자료
Java - Reflection 쉽고 빠르게 이해하기
Java Reflection 개념 및 사용법