What Does Overriding Mean?

Overriding is an object-oriented programming feature that enables a child class to provide different implementation for a method that is already defined and/or implemented in its parent class or one of its parent classes. The overriden method in the child class should have the same name, signature, and parameters as the one in its parent class.


Overriding enables handling different data types through a uniform interface. Hence, a generic method could be defined in the parent class, while each child class provides its specific implementation for this method.

Techopedia Explains Overriding

The invoked method version is determined by the class object. If the child class object is used to invoke the method, then the child class version of the method is executed. If the parent class object is used to invoke the method, then the parent class version of the method is executed. The invoked method is determined at runtime, whereas in overloading, the invoked method is determined at compile time.

C++ and C# support overriding by explicitly using the keywords ‘override’ and ‘virtual’. Java uses the ‘super’ keyword to invoke the superclass method. However, C++ does not have the super keyword and uses instead the base class name followed by the scope resolution operator (::).


Related Terms

Latest DevOps Terms

Related Reading

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…