
구체적인 클래스 타입을 알지 못하더라도 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API이다.
컴파일 시간이 아닌 실행 시간에 동적으로 특정 클래스의 정보를 추출할 수 있는 프로그램 기법이라 정의되어 있다.
클래스로더를 통해 읽어온 클래스 정보(거울에 반사"된" 정보)를 사용하는 기술.
(클래스 정보는 JVM에 들어있는 ClassLoader가 읽어온다.)
코드 작성 시점에는 어떤 타입의 클래스를 사용할지 모르지만,
런타임 시점에 지금 실행되고 있는 클래스를 가져와서 실행해야 하는 경우.
Intelij의 자동완성 기능, 스프링의 어노테이션이 리플렉션을 이용한 기능이다.
자동완성기능 예시

