리플렉션
-
[JAVA] 자바 리플렉션(Java Reflection)프로그래밍/JAVA 2020. 7. 31. 19:05
리플렉션(Reflection)이란? 구체적인 클래스 타입을 알지 못해도 해당 클래스의 생성자, 메소드, 타입, 변수들에 접근할 수 있도록 도와주는 기본적으로 Java에서 제공하는 API 리플렉션의 필요성? 동적으로 클래스를 사용해야할 때 필요. 작성 시점에는 어떤 클래스를 사용해야할 지 모르는 경우, 런타임 시점에서 클래스를 가져와서 실행해야 하는 경우에 사용 ex) IntelliJ의 자동완성, 스프링 프레임워크의 어노테이션 등 ※ 런타임 : 프로그래밍 언어가 구동되는 환경 리플렉션의 원리 Java에서는 모든 .class 파일 하나당 java.lang.Class 객체를 하나씩 생성된다. Class는 모든 .class들의 정보를 가지고 있으며 .class 파일에 같이 저장된다. 모든 .class들은 이 클..