Polymorphism and the Open/Closed Principle
Motivation
As a codebase evolves, we need code that continues to apply to types that did not exist when it was written, without requiring modification. Polymorphism unifies interface implementation and class extension under the Open/Closed Principle, keeping existing code open to extension by new types and closed to modification.