오버라이딩이란, 부모 클래스로부터 상속받은 메소드의 내용을 재정의(변경) 해야 하는 것을 오버라이딩이라고 합니다. 다른 말로 파생 클래스에서 기본 클래스에 작성된 가상 함수를 재작성하여 기본 클래스에 작성된 가상 함수를 무력화 시키고, 파생 클래스에서 재작성한 함수를 사용하는 것입니다. 무슨 소리이고 이런 걸 왜 하나 싶으실텐데, 하나의 예시를 들어보겠습니다. 우리가 자동차를 하나 샀습니다. 자동차를 샀으면 우리는 운전을 하겠죠? 운전을 하기 위해 '엑셀' 과 '브레이크' 라는 것을 통해 운전을 하게 될 겁니다. 이를 간단히 클래스로 표현해보면 class Car{ int speed; public: virtual void Accelerator() {} virtual void Break() {} ... } ..