그니까 표현하자면 class Mammal { 쏼라 }; class Dog : public Mammal { 솰라 }; 개는 포유류에 속한다. 고로 포유류의 특징을 지니고 있기에 Mammal의 멤버함수, 변수를 사용해도 문제없다. 그래서 이런 경우 상속. ex> class Mammal { public: func1() {} }; class Dog : public Mammal { public: func1(int x) { 쏼라; } }; 이 때 func1()이 뒤의 Dog에서 오버라이딩 됐으므로 void main() { Dog a; a.func1(2); } Dog의 오버라이딩된 함수를 쓸려면 이렇게 써야함. 원형인 기본메서드를 쓸려면 a.Mammal::func1(); 이렇게 쓰면 됨