Introduction
Polymorphism lets us use one name for different actions. It helps make code simpler and easier to change.
When you want different objects to respond differently to the same command.
When you want to add new features without changing old code.
When you want to write code that works with many types of objects.
When you want to organize code so it is easier to understand and maintain.