함수의 구현부가 없이 =0 으로 종결한 함수를 순수 가상 함수(pure virtual function) 이라고 부릅니다. 그리고 이러한 함수를 하나라도 가진 클래스를 추상 클래스(abstract class) 라고 부릅니다. class Color { public: virtual void code() = 0; }; 추상 클래스는 객체를 생성할 수 없습니다. 단, 포인터 변수는 생성할 수 있습니다. Color color; // 실패 Color* color; // 성공 추상 클래스를 사용하는 이유는 파생 클래스에게 이 함수는 반드시 구현해야 내 카테고리에 속할 수 있다를 알리기 위함입니다. 만약, 파생 클래스가 해당 함수의 실체를 (override하여) 구현하지 않으면 해당 파생 클래스 또한 추상 클래스가 됩니..