Introduction
Polymorphism helps us use one interface to work with different types of objects. It makes code easier to write and change.
When you want to use the same method name for different actions depending on the object.
When you want to write code that works with many types of objects without changing it.
When you want to add new object types without changing existing code.
When you want to simplify complex code by treating different objects in a similar way.