Concept Flow - Runtime polymorphism
Create base class reference
Assign derived class object
Call overridden method
At runtime, JVM decides which method to call
Derived class method executes if overridden
Program continues
At runtime, the program decides which version of an overridden method to call based on the actual object type, not the reference type.