Polymorphism = one action, many forms.
Same method name β different behavior depending on object type.
Example:
area() β circle, rectangle, square β each computes area differently.
Two types:
β Flexible code
β Cleaner architecture
β Extensible design
β Powerful abstraction
β Makes frameworks possible (Spring, Hibernate, JDBC)
Real use:
List list = new ArrayList();
list = new LinkedList(); // polymorphism