multiple dispatch
"El despacho múltiple o multimétodos es una característica de algunos lenguajes de programación en la que una función o método puede ser despachado dinámicamente en función del tipo en tiempo de ejecución (dinámico) o, en el caso más general, de algún otro atributo de más de uno de sus argumentos."