리플렉션 : 컴파일 된 자바 코드에 역으로 클래스를 불러 메소드 및 필드 정보를 구해오는 방법 JVM에서 실행되는 애플리케이션의 런타임 동작을 검사하거나 수정할 수 있는 기능이 필요한 경우 사용 스프링 프레임워크, 마이바티스, 하이버네이트 등의 라이브러리에서 사용 Reflection을 사용해서 스프링에서는 런터임 시 개발자가 등록한 빈을 애플리케이션 내에서 사용 할 수 있음 Reflection 주의사항 1) 오버헤드 발생 : 성능 저하를 발생시킬 수 있기 때문에 성능에 민감한 애플리케이션에서는 사용하지 않음 2) 캡슐화 저해 : private로 설정한 member에 접근 가능하기 때문에 코드 기능이 저하되며 여러 가지 문제가 발생 방법 1. class 문법을 이용하여 Class 타입의 인스턴스를 생성 :..