자바에서 클래스 정보는 어떻게 알아낼 수 있을까?
●자바에서 클래스 정보는 어떻게 알아낼 수 있을까?
자바에서 클래스 정보를 가져오기 위해서 Reflection API를 사용할 수 있으며, reflection 패키지에서 제공하는 클래스를 사용하면, JVM에 로딩되어 있는 클래스와 메서드의 정보를 읽어올 수 있으며 대표적으로 Class 클래스, Method 클래스, Field 클래스가 존재
Reflection API를 사용하면 구체적인 클래스의 타입을 몰라도, 클래스의 정보에 접근할 수 있으며 개발자는 이러한 특성을 이용하여 인스턴스를 감싸는 프록시를 만들거나, 사용자로부터 전달된 값을 처리할 메서드를 유연하게 선택하는 등 다양한 구현을 할 수 있으며 Reflection API는 특히 프레임워크나 라이브러리를 개발하는 과정에서 사용되는 경우가 많으며 프레임워크나 라이브러리의 개발자는 사용자가 작성한 클래스에 대한 정보를 알 수 없기 때문
●Reflection API의 단점