단일 루트 계층
Singly rooted hierarchy개체 지향 프로그래밍에서 단일 루트 계층은 대부분의 OOP 기반 프로그래밍 언어의 특성입니다.실제로 대부분의 언어에서 모든 클래스는 단일 루트(일반적으로 Object와 유사한 이름의)에서 직접 또는 간접적으로 상속됩니다. 그러면 모든 클래스가 공통 상속 계층을 형성합니다.
이 아이디어는 Smalltalk에 의해 처음 도입되었으며, 이후 대부분의 다른 객체 지향 언어(특히 Java와 C#)에서 사용되었다.
주목할 만한 예외는 (주로 C와의 호환성 및 효율성 측면에서) 단일 객체 계층이 없는 C++입니다.이 기능은 컨테이너 라이브러리에서 특히 유용합니다. 컨테이너 라이브러리는 오브젝트를 컨테이너에 넣을 수 있도록 하기 위해서만 허용하면 됩니다.C++의 컨테이너는 Bjarne [2][3]Stroustrup에 의한 템플릿 기반의 범용 프로그래밍의 도움을 받아 [1]여러 상속을 통해 구현되었습니다.단일 루트 계층이 없는 다른 객체 지향 언어로는 Objective-C와 PHP가 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Bruce Eckel, C++ vol.2, Ch. 9 "다중 상속"의 생각: 섹션 "관념"
- ^ MFC 프로그래머의 SourceBook : 2007-11-13 Wayback Machine에서 아카이브된 C에서의 생각
- ^ Bruce Eckel, C++ vol.1, Ch.16 "템플릿 소개" : 섹션 "템플릿 솔루션"