Introduction
Polymorphism lets us use the same action in different ways for different things. It helps make code simple and flexible.
When you want to use one function name to do different tasks depending on the object.
When you have different types of objects but want to treat them the same way in your code.
When you want to add new types without changing existing code.
When you want to write code that works with many kinds of objects easily.