Conceptual
Login

Polymorphism

One interface, many concrete behaviors: code written against a shared contract works for every implementing type, with the concrete implementation chosen at runtime by the value's actual type.