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

Margaret Rouse

Margaret 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 IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.