Subtype polymorphism

Calling behavior through a base type while the runtime subtype selects the overriding implementation.