The derived classes can give their own specific implementations to inherited methods without modifying the parent class methods.
For any method, a child class can use the implementation in the parent class or make its own implementation.
Method overriding needs inheritance, and there should be at least one derived class to implement it.
The methods in the derived classes usually have a dissimilar implementation.