Overriding is a language feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its parent or superclasses classes. The implementation in the subclass overrides (replaces) the implementation in the superclass by providing a method that has same name, same parameters or signature, and same return type as the method in the parent class.