Introduction
Overriding lets you change how a method works in a child class. It helps you customize behavior while keeping the same method name.
When you want a child class to do something different from its parent class for the same action.
When you need to add extra steps before or after the original method runs.
When you want to fix or improve how a method works in a subclass.
When you want to provide specific behavior for different types of objects in a class hierarchy.