일반 상속과 가상 상속 오브젝트의 구조 다이아몬스 상속의 해결방법인 Virtual Inheritance 가상 상속의 구조에 대해 알아보자. 이전 게시글에서 언급했던 다이아몬드 상속의 구조이다. 간단하게 이전 게시글에서 마지막에 언급했던 다이아몬드 상속의 내용을 다시 정리해 보면, 위 (그림1)과 같은 구조를 갖는 Liger 오브젝트를 생성할 때 virtual 키워드 없이 오브젝트를 생성하면 Animal Constructor가 2번 중복되어 호출된다는 것이다. virtual 키워드를 사용해서 Liger 오브젝트를 호출하면 Animal Contructor가 1번만 호출된다. 그렇다면 virtual 키워드를 붙여서 inheritance를 만들 때 일반적인 상속과 어떤 차이점이 있을까? 앞서 virtual fu..