[C++] Virtual principle and Multiple Inheritance
가상의 원리와 다중상속 1. 가상함수의 공유와 가상함수 테이블 C++에서 클래스의 객체가 생성되면, 멤버변수는 객체 내에 존재하지만, 멤버함수는 메모리의 한 공간에 별도로 위치하고선, 이 함수가 정의된 클래스의 모든 객체가 이를 공유하는 형태를 취한다. 클래스에 가상함수가 포함되면, 가상함수 테이블이 생성되고, 이 테이블을 참조하여 호출될 함수가 결정된다. 이러한 과정 때문에 속의 저하가 생기지만 많은 이점 때문에 가상함수는 자주 사용된다. 즉, 한 개 이상의 가상함수 생성 시, 무조건 가상 함수 테이블이 생성되고, 이 가상함수 테이블은 모든 멤버함수를 포함한다. 2. 다중상속 C++의 특이한 점 하나는, 다중상속을 지원한다는 점이다. 물론, 부정적인 의견이 강하기 때문에 간단한 예시를 통해 사용법만 알..
더보기