C++에서 다중 상속이란 무엇인가요?
C++에서 다중 상속은 클래스가 두 개 이상의 부모 클래스로부터 상속을 받는 것을 의미합니다. 이는 다른 클래스에서 상속받은 멤버 변수와 멤버 함수를 모두 사용할 수 있게 해줍니다.
예를 들어, 다음과 같이 두 개의 클래스 A와 B가 있을 때, C 클래스가 A와 B 클래스로부터 다중 상속을 받을 수 있습니다.
class A {
public:
void foo() {
cout << "A::foo()" << endl;
}
};
class B {
public:
void bar() {
cout << "B::bar()" << endl;
}
};
class C : public A, public B {
public:
void foobar() {
foo(); // A::foo() 호출
bar(); // B::bar() 호출
}
};
위의 예제에서 C 클래스는 A와 B 클래스로부터 상속받은 foo()와 bar() 함수를 모두 사용할 수 있습니다. 따라서 C 클래스의 foobar() 함수에서 A::foo()와 B::bar() 함수를 모두 호출할 수 있습니다.
다중 상속은 코드의 재사용성을 높이고 유연성을 높여주지만, 클래스 간의 관계가 복잡해질 수 있고, 다이아몬드 상속과 같은 문제가 발생할 수 있습니다. 따라서 다중 상속을 사용할 때는 상속 순서와 가상 상속 등을 고려해야 합니다.