El envío dinámico es el mecanismo en tiempo de ejecución que decide cuál implementación de método ejecutar según el tipo real del objeto, no el tipo declarado de la variable. La mayoría de los lenguajes basados en clases lo implementan con una tabla de métodos virtuales (vtable).
El modelo vtable
Cada clase tiene una tabla de punteros a sus implementaciones de métodos. Cada objeto mantiene un puntero oculto a la vtable de su clase. Una llamada virtual se convierte en:
