A polymorphic variable can refer to (or point to) an instance of a class or any of its descendants
When a class hierarchy includes classes that override methods and such methods are called through a polymorphic variable, the binding to the correct method must be dynamic
Polymorphism simplifies the addition of new methods
Polymorphism allows client code to operate on a variety of classes in a uniform way