Polymorphism in a Java program
The ability of a reference variable to change behavior according to what object instance it is holding.
This allows multiple objects of different subclasses to be treated as objects of a single super class, while automatically selecting the proper methods to apply to a particular object based on the subclass it belongs to
(We will talk more on Polymorphism during our Polymorphism presentation.)