반응형

1. Java Reflection 이란?

 

 # 참고 : https://docs.oracle.com/javase/tutorial/reflect/

 

 자바에서 리플렉트 - 이를 행하는 행위인 리플렉션은 굉장히 오래된 기술이나

 많이 어려워 하는 사용법 중 하나이다. 


 프로그래밍은 용어 이해에서 8할은 이해가 되듯 먼저 용어부터 해석해보자.

 사전적의미로 리플렉트는 반사하다, 보여주다, 반영하다, 나타내다, 생각하다란 뜻이다(BY 다음사전). 다시말해서 거울에 비춰보고 그것을 생각하는 행위자체에서 파생된 단어임을 쉽게 알 수 있다.


 다시말해서, 자바에서 객체를 나타내고, 반영하고, 생각하다란 뜻이라고 볼 수 있는데

그렇기에 이 reflection에서 얻을 수 있는 것은 객체에 대한 메타정보인 클래스명, 멤버필드명, 메소드, 생성자 따위가 되겠다.


 조금 더 나아가는 생성자와 메소드를 실행 할 수도 있고, 필드에 값을 부여하거나 얻어올 수 있다. 객체 생성 또한 가능하다.


 

2. 용례와 용법

  

 물론 자바 스탠다드에서도 BeanInfo 와 Class 등으로 좀 더 확장성있게 사용할 수 있고, 이런 자바 사상에서 파생되어 나온 용례 중 가장 많이 알려진 것이  Spring BeanWrapper이다. 

 . 

 Reflection은 Flexible하게 소스코드를 만들수도 있다. 

 Reflection으로 데이터를 얻어오는 곳은 실행 중인 상태에서 JVM을 통해서 가져온다.

반응형

WRITTEN BY
데르벨준

,