[Java] 자바의 리플렉션 (Reflection) 이란?
·
JAVA
리플렉션 (Reflection) 리플렉션은 힙 영역에 로드된 Class 타입의 객체를 통해 구체적인 클래스 타입을 알지 못하더라도 그 클래스의 메서드, 타입, 변수들 즉 인스턴스를 접근할 수 있도록 해주는 자바 API를 말한다. 컴파일 시간이 아닌 실행 시간에 동적으로 특정 클래스의 정보를 추출할 수 있는 프로그래밍 기법이다. 언제 사용할까? 작성 시점에서는 어떠한 클래스를 사용해야 할지 모르지만 런타임 시점에서 가져와 실행해야 하는 경우 즉, 동적으로 클래스를 사용해야 할 때 이용한다. IDE나 프레임워크에서 이런 동적 바인딩을 이용한 기능을 제공한다. 예를 들어 자동완성 기능이나 스프링어노테이션 같은 것들을 말한다. 리플렉션 정보사용 리플렉션을 사용하기 위해서는 java.lang.reflect 패키지..