[c++] 다중 상속의 장단점

C++은 다중 상속이라는 특징을 가지고 있는데, 이에는 장단점이 있습니다.

다중 상속의 장점

다중 상속은 여러 개의 부모 클래스로부터 상속을 받을 수 있는 장점이 있습니다. 이를 통해 여러 개의 클래스로부터의 특징을 모두 받아올릴 수 있어 코드 재사용성이 높아집니다.

예를 들어, 작업자(Worker) 클래스가 사람(Person) 클래스와 직장(Company) 클래스로부터 상속을 받는다면, 작업자 클래스는 사람 클래스의 특징과 직장 클래스의 특징을 동시에 갖출 수 있습니다.

다중 상속의 단점

그러나 다중 상속은 다이아몬드 문제라는 문제를 유발할 수 있습니다. 이는 같은 클래스를 다중으로 상속받을 때 발생하는 모호성을 의미합니다. 이로 인해 컴파일러는 어떤 부모 클래스의 메서드를 사용해야 할지 판단하기 어려워집니다.

이러한 이유로 다중 상속은 복잡한 구조를 가질 수 있고, 코드의 가독성을 저하시킬 수 있습니다.

따라서, 다중 상속을 사용할 때에는 잘 고려해야 하며, 인터페이스나 추상 클래스를 통한 다중 상속보다는 구성을 통해 상속을 대체할 수 있는 경우가 많습니다.

참고문헌: GeeksforGeeks - Multiple Inheritance in C++