본문 바로가기

옛글/안드로이드 프로그래밍

자바&안드로이드 Class Reflection 개념 세우기

반응형
Reflection 은 거울 속의 비친 자신의 모습이라는 의미입니다.

프로밍에서는 프로그램이 자신의 모습을 보고 심지어 수정하기까지 하는 것을 이야기 합니다. 


Java에서는 Reflection API 는 그런 기능을 클래스, 필드, 메소드를 들여다 볼 수 있는 API를 통해 제공합니다.  

간단하게 Class Reflection 을 사용해서 어떤 클래스를 사용해서 클래스를 호출 할 경우 Class Reflection 을 통해서 패키지와 (상위 클래스) 현재 클래스에 대한 정보를 제공받게 됩니다. 그렇게 될 경우는 해당클래스가 public인지 final 인지 Abstract인지 까지도 getModifires 를 통해 패키징되어 넘어오게 됩니다. 이러한 숫자를 가지고 여러가지 일을 할 수 있는 static 메소들을 제공해준다고 하네요. 

 또한 실제적으로 사용이유는 클래스를 활용해서 새로운 객체를 만드는 것입니다. 
따라서 대상 클래스가 final 이든 static 이든 정보를 받아와 어떤 클래스의 정보를 읽어와 그 안에 새로운 객체를 만들거나 메서드를 가지고 올 수 있게 됩니다. 
 그냥 클래스를 가져오게 되면 new를 사용하는 것과 같아 InstantitationException을 일으키게 됩니다. 

간단하게 요약만 했는데 Reflection 에 대해 바로 이해가 되는 글이네요. 
아래 참고 사이트 참고하셔요!

코드 및 참고자료 :  http://www.hanb.co.kr/network/view.html?bi_id=1369 

 
반응형