ETC/Talk

RTTI 와 Reflection ?

VallistA2015. 5. 29. 11:01

RTTI와 Reflection이 궁극적으로 추구하는 것은 같다.

객체의 메모리를 참조하여 객체에 대한 정보를 얻어오는 것인데

이러한 정보는 최근 고 수준의 언어(High-Level) 에서 Reflection이라고 하는 것이다.

 

Java나 C#의 언어에서는 강제적으로 가장 상위 클래스를 받으며, 그 상위 클래스를 이용하여 Reflection이라는 기능을 지원하여 런타임 타입 정보를 알 수 있도록 지원한다.

 

하지만 C++ 언어에서는 이러한 정보를 가져 올 수 없다 왜냐하면 최신의 고 수준의 언어에서는 가장 상위 클래스에서 가상 함수를 이용하여 테크닉을 써서 가져오지만 C++은 그러한 제약에서 자유롭기 때문이다.

 

즉 RTTI는 Reflection 보다 상위의 개념이 아닌 하위의 개념이며 Reflection은 RTTI를 포함하는 포괄적이고 유연한 기능을 제공하는 고 수준 (High-Level)의 언어에서 지원하는 "객체의 메모리를 참조하여 객체에 대한 정보를 가져오는 기능" 이라고 보면 될 듯 하다.

 

댓글

댓글쓰기 폼

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.

자고 싶습니다. ㅠㅠ

페이스북    :: 링크
카카오톡    :: kingbye1
Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today : 14

Total : 417,259

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘