RTTI(Run-Time Type Info.) 라는 주제 또는 C++ 표준 클래스인 type_info 클래스 또는 MFC의 CRuntimeClass를 보시면 원하시는 답변을 얻으실 수 있습니다.


런타임 시 단순히 클래스의 형 정보 뿐아니라(RTTI & 런타임 객체 생성) 클래스의 상속관계, 멤버 변수, 멤버 함수 등등의 정보를 자세히 알아내기, 런타임 시 멤버 함수 접근 또는 멤버 함수 실행 등등을 가능하게 해주는 프로그래밍 기법을 리플렉션 패턴(Reflection Pattern) 이라고 합니다.
(정확히는 리플렉션 패턴으로 구현하는 기능 중 일부라고 해야합니다만)

Java나 .NET 에서는 C++ 보다 더 진화된 형태의 리플렉션 패턴을 언어레벨에서 구현하고 지원해줍니다. 따라서 몇몇 C++ 개발자들이 매우 단순한, 리플렉션 패턴에서 가장 기초적인, RTTI 형태만 지원해주는 C++ 의 한계를 극복하고자 조금 더 진본된 리플렉션 패턴을 제공해주는 라이브러리를 개발하였고 일부는 프리웨어로 공개되어 있습니다. QT (상용), VCF (소스포지), LibReflection (코드프로젝트) 등등이 있습니다. C++언어 레벨에서 지원하는게 아니라서 특수한 상속관계나 매크로를 통해서 리플렉션 패턴을 지원하기때문에 사용이 조금 번거롭기는 하지만 C++ 언어에서 지원하는 단순 RTTI 수준이 아닌 조금 더 진보한 리플렉션 패턴을 사용할 수 있게해줍니다.

from http://blog.naver.com/unodiro/150012066729

'IT정보기술자료' 카테고리의 다른 글

4G 주요기술들 (OFDM·MIMO·SDR 등)  (0) 2007.02.28
CPU Scheduling  (0) 2007.02.28
IS-95A, IS-95B, IS-95C 차이점  (0) 2007.02.28

+ Recent posts