1. 순수 가상 함수와 추상 클래스의 개념 기본 클래스에서는 모든 함수의 구현을 알 수 없기 때문에 모든 함수의 구현을 제공할 수 없는 경우가 있다. 이러한 클래스를 추상 클래스라고 한다. 예를 들어 Shape을 기본 클래스라고 하자. Shape에서 함수 draw()의 구현을 제공할 수는 없지만, 파생된 모든 클래스에는 draw()의 구현이 있어야 한다는 것을 알고 있다. 마찬가지로 Animal 클래스에는 move()의 구현이 없지만(모든 동물이 움직인다고 가정할 때), 모든 동물은 움직이는 방법을 알고 있어야 한다. 우리는 추상 클래스의 객체를 만들 수 없다. C++의 순수 가상 함수(또는 추상 함수)는 구현할 수 있는 가상 함수이지만, 파생 클래스에서 해당 함수를 재정의해야 하며, 그렇지 않으면 파생..