클래스 계층이란 무엇입니까?

클래스 분류 체계라고도하는 클래스 계층 구조는 상속을 통해 유사한 작업을 수행하는 관련 클래스 그룹입니다. 계층의 맨 위는 그 아래의 다른 모든 클래스가 파생 된 단일 기본 클래스이거나 계층이 기능이 하나 이상의 파생 클래스에서 나중에 병합되는 여러 기본 클래스를 가질 수 있습니다. 클래스 간의 관계는 나무로 설명 할 수 있으며 큰 분류 체계 내의 각 작은 나무는 계층 구조로 간주 될 수 있습니다.

모든 클래스 계층 구조가 여러 루트를 가질 수있는 것은 아니며 클래스 계층 구조는 작성된 언어에 따라 크게 달라집니다. C ++은 다중 상속을 허용하므로 여러 루트와 서로 병합되는 여러 트리로 복잡한 계층 구조를 구축 할 수 있습니다. 반면 Java®는 단일 상속으로 제한되므로 클래스 관계는 일반적으로 단순하며 단일 루트를 가진 비교적 독립적 인 트리로 구축됩니다. 인터페이스 상속은 Java®의 클래스 계층 구조에 약간의 복잡성을 추가 할 수 있지만 트리를 함께 병합하는 것처럼 복잡한 프레임 워크에서 인터페이스를 호출하는 경우는 거의 없습니다.

클래스 계층의 구성 요소는 언어 규칙이 항상 상속과 관련하여 따르는 한 유형과 기능이 다를 수 있습니다. 계층 구조의 클래스는 공용, 보호, 추상, 구체적 또는 가상 일 수 있습니다. 인터페이스, 전역 기능 및 친구도 사용할 수 있습니다. 컴퓨터 언어에 따라 이러한 유형 중 일부는 다른 유형보다 상속에 더 적합 할 수 있습니다. 일반적으로 계층 구조는 매우 유연하며 다양한 방법으로 여러 가지 용도로 사용할 수 있습니다.

특정 유형의 클래스를 계층 구조에 배치해야하는 위치에 관한 엄격한 규칙은 없습니다. 모든 클래스는 위에서 언급 한 유형 중 하나 일 수 있습니다. 일반적으로 계층 아래에서 파생 클래스가없는 마지막 클래스는 공개적이고 구체적이어야합니다. 그러나 순전히 추상 클래스 계층 구조도 존재할 수 있기 때문에 이것은 단지 경험에 불과합니다.

클래스 계층 구조는 코드를 구성하고 기능을 캡슐화하는 데 유용한 도구 일 수 있지만 계층 구조에 너무 깊이 들어가면 코드를 명확하게 이해하고 유지하기가 아니라 실제로 혼동 할 수 있습니다. 많은 계급들 사이에 탄탄한 관계를 구축하려면 어느 정도의 예측력이 필요합니다. 처음에는 코드를 여러 개의 작은 조각으로 나누기가 더 쉬울 수 있지만 작은 조각은 나중에 처리하기가 더 어려워 질 수 있습니다. 클래스 계층 구조가 올바르게 구축되면 개발자와 사용자 모두 클래스 작동 방식을 결정하는 데 도움이됩니다. 유지 관리 및 명확성을 염두에 두지 않고 구축 된 경우 많은 상속 수준이 뒤돌아보고 이해하기 어려울 수 있습니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?