- Dynamic dispatch: determine at runtime which implementation of a polymorphic function to call.
- vtable: implementation of dynamic dispatch where the compiler inserts a pointer to a object type determining code, and then pointing again to the correct object implementation