반응형
1. Java Reflection 이란?
# 참고 : https://docs.oracle.com/javase/tutorial/reflect/
자바에서 리플렉트 - 이를 행하는 행위인 리플렉션은 굉장히 오래된 기술이나
많이 어려워 하는 사용법 중 하나이다.
프로그래밍은 용어 이해에서 8할은 이해가 되듯 먼저 용어부터 해석해보자.
사전적의미로 리플렉트는 반사하다, 보여주다, 반영하다, 나타내다, 생각하다란 뜻이다(BY 다음사전). 다시말해서 거울에 비춰보고 그것을 생각하는 행위자체에서 파생된 단어임을 쉽게 알 수 있다.
다시말해서, 자바에서 객체를 나타내고, 반영하고, 생각하다란 뜻이라고 볼 수 있는데
그렇기에 이 reflection에서 얻을 수 있는 것은 객체에 대한 메타정보인 클래스명, 멤버필드명, 메소드, 생성자 따위가 되겠다.
조금 더 나아가는 생성자와 메소드를 실행 할 수도 있고, 필드에 값을 부여하거나 얻어올 수 있다. 객체 생성 또한 가능하다.
2. 용례와 용법
물론 자바 스탠다드에서도 BeanInfo 와 Class 등으로 좀 더 확장성있게 사용할 수 있고, 이런 자바 사상에서 파생되어 나온 용례 중 가장 많이 알려진 것이 Spring BeanWrapper이다.
.
Reflection은 Flexible하게 소스코드를 만들수도 있다.
Reflection으로 데이터를 얻어오는 곳은 실행 중인 상태에서 JVM을 통해서 가져온다.
반응형
'Java & Spring > Java 문법' 카테고리의 다른 글
[Java Stream] double[] 을 List<Double>로 / List<Double>을 double[]로 바꾸기 (0) | 2020.02.17 |
---|---|
[JAVA] 자바를 이용한 웹 크롤러 만들기 예제 (7) | 2016.07.23 |
[Java] replaceAll 에서 Illegal group reference 처리 (0) | 2016.02.12 |
[Java Util] 문자열 내 HTML 태그 사용 특수문자 치환 (0) | 2016.02.12 |
[Java] GSON 을 이용한 JSON to Generic/VO 또는 GenericVO to JSON (0) | 2015.12.30 |
WRITTEN BY
,