Reflection
1 Reflection
- 레퍼런스
- 간단히 말하면 리플렉션이란 실행 시점에 객체의 프로퍼티와 메서드에 접근할 수 있게 해주는 방법이다.
- 보통은 객체의 메서드나 프로퍼티에 접근할 때는 프로그램 소스 코드 안에 구체적인 선언이 있는 메서드나 프로퍼티 이름을 사용하며 컴파일러는 그런 이름이 실제 가리키는 선언을 컴파일 시점에 찾아내서 해당 선언이 실제 존재함을 보장한다.
- 하지만 객체가 제공하는 메서드나 프로퍼티 이름을 오직 실행 시점에만 알 수 있는 경우가 있다.
- 대표적으로 JSON 직렬화 라이러브러리가 있다.
- 직렬화 라이브러리는 어던 객체든 JSON으로 변활할 수 있어야 하고 실행 시점이 되기 전까지는 직렬화한 프로퍼티나 클래스에 대한 정보가 없기 때문에 이런 경우 리플렉션을 사용한다.