클래스 계층 구조는 무엇입니까?
class 클래스 분류법이라고도 불리는 클래스 계층 구조는 비슷한 일을하기 위해 상속을 통해 연결된 관련 클래스 그룹입니다.계층 구조의 최상위는 아래의 다른 모든 클래스가 도출되는 단일 기본 클래스 일 수 있거나, 계층은 하나 이상의 파생 클래스에서 나중에 기능이 함께 병합되는 여러 기본 클래스를 가질 수 있습니다.계급 간의 관계는 나무로 설명 될 수 있으며, 큰 분류 체계 내의 각 작은 나무는 계층 구조로 간주 될 수 있습니다.C ++는 여러 상속을 허용하므로 복잡한 계층 구조는 여러 뿌리와 여러 나무로 서로 합쳐질 수 있습니다.반면에 Java 는 단일 상속으로 제한되므로 계급 관계는 일반적으로 단일 뿌리를 가진 비교적 자체 포함 된 나무로 제작 된 더 간단합니다.인터페이스 상속은 Java 의 클래스 계층에 약간의 복잡성을 추가 할 수 있지만, 인터페이스는 나무를 함께 병합하는 것과는 다른 복잡한 프레임 워크에서 거의 호출되지 않습니다.언어의 규칙이 항상 상속과 관련하여 따르는 한.계층 구조의 클래스는 공개, 보호, 추상, 콘크리트 또는 가상 일 수 있습니다.인터페이스, 글로벌 기능 및 친구도 사용할 수 있습니다.컴퓨터 언어에 따라 이러한 유형 중 일부는 다른 유형보다 상속에 더 잘 적용 할 수 있습니다.일반적으로 계층 구조는 매우 유연하며 여러 목적으로 여러 가지 방법으로 사용할 수 있습니다.모든 수업은 위에서 언급 한 유형 일 수 있습니다.일반적으로, 그 아래에 파생 된 클래스가없는 계층 구조의 마지막 클래스는 공공 및 콘크리트 여야합니다.그러나 순수한 추상 클래스 계층 구조도 존재할 수 있기 때문에 이것은 단지 경험의 규칙 일뿐입니다.
클래스 계층 구조는 코드를 구성하고 기능을 캡슐화하는 데 유용한 도구 일 수 있지만, 계층 구조를 너무 깊이 파고들 수있는 시간이있을 수 있습니다.실제로 코드를 명확히하고 유지하기보다 쉽게 혼동하십시오.많은 수업 사이에 강력한 관계를 구축하려면 어느 정도의 예측이 필요합니다.처음에는 많은 작은 조각으로 코드를 깨는 것이 더 쉬울 수 있지만, 그 작은 조각들은 나중에 다루기가 더 어려워 질 수 있습니다.올바르게 구축되면 클래스 계층 구조는 개발자와 사용자 모두 클래스 작동 방식을 결정하는 데 도움이됩니다.유지 보수와 명확성을 염두에두고 구축되면 많은 수준의 상속이 뒤돌아보고 이해하기 위해 혼란 스러울 수 있습니다.