C++에서 하이브리드 상속이란 무엇입니까? 예제가 있는 유형

게시 됨: 2021-05-27

우리는 종종 프로그래밍 컨텍스트에서 "상속"이라는 용어를 사용합니다. 코드를 최대한 재사용할 수 있도록 프로그래밍에서 실행되는 기능입니다. OOP(객체 지향 프로그래밍)의 "IS-A" 개념을 기억하면 상속 기능을 기반으로 한다는 것을 알 수 있습니다. 상속을 구현하면 C++에서 고급 프로젝트 아이디어 를 얻는 데 도움이 됩니다 .

목차

상속이란 무엇입니까?

상속 과정에서 한 클래스의 객체는 다른 클래스의 속성과 동작을 획득합니다. 여기에서 새 클래스는 기존 기본 클래스에서 파생됩니다. 파생된 멤버 클래스는 일반적으로 자식 클래스 및 부모 클래스의 기본 클래스 멤버라고 합니다. 자식 클래스가 파생된 후 부모 클래스의 모든 속성과 메서드를 상속합니다.

또한, 자식 클래스는 목적을 위한 배타적 속성과 메서드를 가질 수 있습니다. 기존 클래스에 로컬로 추가된 추가 기능은 상위 클래스에서 상속된 속성에 영향을 주지 않습니다. 따라서 새 클래스에는 두 클래스의 기능이 결합됩니다.

C++의 상속

종종 실제로 프로그래머는 다음을 수행해야 하는 개체를 개발해야 합니다.
1) 부모의 모든 자질을 소유하고 추가로,
2) 어떤 면에서는 끈기가 특별하다.

이러한 예외적인 특성을 주요 클래스에 코딩하는 것이 반드시 실용적이고 경제적이지 않을 수 있습니다. 이 경우 기본 클래스를 확장하여 새 클래스가 파생됩니다. 또한 추가적인 특성을 가진 다른 클래스에서 파생됩니다. 이러한 방식으로 다른 클래스에 정의된 속성 및 동작을 재사용, 확장 또는 수정할 수 있습니다. 따라서 여러 클래스에서 파생된 자식 클래스는 유지 관리 및 이식이 쉬운 개체를 제공합니다. 파생 클래스는 기본 클래스에 대한 특수 클래스입니다.

기술적으로 "extens"라는 키워드는 클래스를 상속하는 데 사용됩니다. C++는 콜론(" : ") 기호를 사용하여 클래스에서 상속합니다.

상속 유형

상속과 구현의 조합 사용은 클래스가 파생되는 목적에 따라 다릅니다. C++에서 사용할 수 있는 상속 유형은 다음과 같습니다.

  • 단일 상속 은 파생 클래스가 단일 기본 클래스에서 속성과 동작을 상속하는 곳입니다. 예: 클래스 A → 클래스 B.
  • 계층적 상속 은 단일 기본 클래스에서 둘 이상의 파생 클래스가 생성되는 경우입니다. 예: 클래스 A → 클래스 B → 클래스 C.
  • 다중 상속 은 여러 기본 클래스에서 클래스를 파생시키는 것입니다. 여기에서 프로그래머가 만드는 자식 개체는 여러 부모 클래스의 특성과 기능을 결합한 측면을 갖게 됩니다. 이러한 개체는 기본 클래스의 계층을 따릅니다.
  • 다단계 상속 은 자식 클래스가 다른 파생 클래스에서 파생되는 곳입니다. 이 기능은 여러 클래스의 결합된 측면을 전달하고 해당 계층을 따릅니다.
  • 하이브리드 상속 은 다중 상속을 사용하는 이기종 기능입니다. 여기에서 자식 클래스는 단일, 계층 및 다중 수준 상속의 하나 이상의 조합에서 파생됩니다. 이 상속은 프로그램이 서로 다른 유형의 상속을 혼합하는 데 채택됩니다. 예를 들어, 단일 상속을 다중 상속과 혼합할 때 또는 단일 프로그램 내에서 다중 상속이 혼합되는 상황일 수 있습니다.

간단한 예

여기서 클래스 B와 클래스 C는 모두 기본 클래스인 클래스 A에서 파생됩니다.

Car의 계층적 분류는 두 가지 클래스를 보여줍니다. "휘발유 자동차"와 "전기 자동차"는 모두 기본 클래스 '자동차'에서 파생됩니다.

C++의 하이브리드 상속

프로그램을 설계하기 위해 결합된 두 가지 이상의 유형의 상속을 적용해야 하는 상황이 있을 수 있습니다. 프로그램에 둘 이상의 상속 유형이 포함되는 경우 이를 하이브리드 상속이라고 합니다.

하이브리드 상속 은 단순, 다중 상속 및 계층적 상속의 조합입니다. 일반적으로 다중 상속에서 클래스는 상위 클래스 중 하나가 기본 클래스가 아닌 파생 클래스이기도 한 두 클래스에서 파생됩니다.

C++ 의 하이브리드 상속은 클래스가 상속의 둘 이상의 형식 또는 조합에서 파생되는 상속입니다. C++ 하이브리드 상속 은 다중 경로 상속이라고도 하며, 여기서 하나의 파생 클래스는 다른 경로에 있는 기본 클래스의 속성을 상속할 수 있습니다. 때로는 다중 경로 상속이라고도 합니다. 예를 들어, 다단계 상속과 계층 상속의 조합으로 달성할 수 있습니다.

간단히 말해서 하이브리드 상속은 두 가지 이상의 유형의 상속이 결합된 것입니다. 예를 들어, 동일한 프로그램에서 단일 및 다중 레벨 상속을 구현합니다.

하이브리드 상속의 블록 다이어그램

다이어그램은 두 상속의 하이브리드 조합을 나타냅니다. 단일 상속과 다중 상속. 여기에서 단일 상속에서 클래스 B 는 클래스 A 에서 파생됩니다 . 마찬가지로 다중 상속에서 클래스 D 는 여러 클래스에서 상속됩니다. 여기서는 클래스 B 와 클래스 C 입니다. 따라서 단일 상속과 다중 상속이 혼합되어 하이브리드 상속이 형성됩니다.

하이브리드 상속은 프로그램에서 둘 이상의 상속을 적용해야 하는 시나리오에 적용할 수 있습니다.

C++의 하이브리드 상속 구문

C++에서 하이브리드 상속을 위한 일반적인 구문과 의미 는 다음과 같습니다.

C++에서 하이브리드 상속의 예

예 1: 단일 + 다중 상속

단일 및 다중 상속이 구현되는 방법을 살펴보겠습니다.

이 다이어그램의 각 블록은 클래스를 나타내고 해당 화살표는 클래스의 상속을 나타냅니다.

예 2: 단일 + 다중 레벨 상속

하이브리드 상속을 구성하기 위해 다른 유형의 상속을 구현할 수도 있습니다.

실시간 예를 살펴보겠습니다 .

Vehicle 클래스에서 car 서브클래스를 파생합니다. 다른 클래스는 Racing을 특징짓습니다. Car 클래스와 Racing 클래스 모두에서 최종 엔터티를 파생하면 결합된 출력이 제공됩니다. 이 파생상품은 레이싱카인 페라리입니다.

다음은 C++에서 하이브리드 상속 의 개념을 설명하는 간단한 프로그램입니다 .

샘플 코드

출력

세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

결론

이 기사 가 C++에서 하이브리드 상속 의 개념과 유형을 이해하는 데 도움이 되었기를 바랍니다 . 컴퓨터 및 컴퓨팅 관련 프로그램 의 흐름에 있는 학생들은 OOP 개념과 같은 기술과 기술적 신뢰성을 향상시킬 수 있습니다. upGrad이러한 전문가들이 프로그래밍 전문 지식을 습득하고 업계 시장에서 경쟁할 수 있도록 리소스와 지식 기반을 제공합니다 . upGrad에서는 전문 네트워킹 및 기술 개발을 탐구할 수 있는 기회도 얻게 됩니다.

이러한 C++ 프로젝트를 실행하는 데 훌륭한 학습 기회가 있기를 바랍니다. 더 자세히 알아보고 업계 전문가의 멘토링이 필요한 경우 upGrad & IIIT Banglore의 Full-Stack Software Development에서 Executive PG Program을 확인하십시오.

객체지향 프로그래밍에서 상속이란?

상속은 코드를 재사용하는 메커니즘이며 실제 세계를 시뮬레이션하는 데 도움이 됩니다. OOP에서 데이터 추상화의 개념을 확장합니다. 클래스가 다른 클래스의 속성을 획득하는 프로세스입니다. 클래스는 다른 클래스에 대해서만 정의될 수 있다는 것이 OOP의 기본입니다. 이것은 추상화의 개념 때문입니다. 상속은 다른 개체와 동일한 클래스 계층 구조에서 새 개체 클래스를 만드는 메커니즘입니다. 상속의 주요 이점은 코드 재사용입니다. 코드를 재사용하는 방법입니다. 클래스가 있고 특정 작업을 수행하는 경우 다른 작업에도 사용할 수 있습니다. 예를 들어 자동차와 트럭은 동일한 작업을 수행하므로 동일한 코드를 사용하여 운전할 수 있습니다.

C++에서 상속의 3가지 범위는 무엇입니까?

C++의 상속 범위는 private, protected 및 public입니다. private 상속은 한 클래스가 다른 클래스에서 상속되지만 파생된 클래스는 클래스 외부에서 액세스할 수 없는 경우입니다. 이러한 유형의 상속은 기본 클래스가 클래스 외부에서 액세스되지 않는 경우에만 사용할 수 있습니다. 보호 상속은 기본 클래스가 클래스 외부에서 액세스되지 않고 클래스 외부에서 액세스되어야 할 때 사용됩니다. 공용 상속은 기본 클래스가 클래스 외부에서 액세스되어야 할 때 사용됩니다.

C++에서 다중 상속이란 무엇입니까?

다중 상속은 둘 이상의 클래스에서 클래스를 파생시키는 기능입니다. 이 기능은 C에서는 사용할 수 없습니다. 이것은 객체 지향 프로그래밍을 지원하는 C++의 가장 중요한 기능 중 하나입니다. C++에서 다중 상속의 구현은 상속 클래스의 개념을 기반으로 합니다. 다중 상속은 동작 재사용 및 코드 재사용과 같은 일부 문제를 해결하는 데 사용할 수 있는 개체 지향 프로그래밍 모델을 지원하는 메커니즘입니다. C++에는 단일 상속 지원만 있기 때문에 코드 재사용은 C++에서 항상 문제였습니다. 다중 상속은 여러 인터페이스를 개체로 결합하여 달성됩니다.