기술(Tech, IT)/C++

[C++] Overriding (오버라이딩)

Daniel803 2023. 10. 26. 10:48

C++은 Overloading과 함께 Overriding도 제공한다. overriding은 파생된 클래스에서 기존 클래스의 멤버 함수를 새로운 정의로 재정의하는 것을 말한다. overriding은 주로 inheritance(상속)과 polymorphism(다형성)을 구현할 때 사용된다. 기본 클래스의 함수를 override하려면, 해당 함수는 반드시 'virtual'로 선언돼야 하고, private 멤버 함수는 직접적으로 접근이 불가하다(간접적으로는 reference(참조)를 통해 override 가능).

 

class Animal {
public:
	virtual void sound() {
    	std::cout << "sound";
    }
};

class Dog: public Animal {
public:
	void sound() override {
    	std::cout << "Woof";
    }
};
반응형