Ad hoc polymorphism
= Ad hoc polymorphism
Ad hoc polymorphism provides distinct implementations for selected types behind a common operation name. <Method overloading> is a common instance, where parameter signatures and static argument types determine the selected operation. It differs from a uniform type-parameterized definition and from <dynamic dispatch> on the receiver after an instance-method signature has been selected.