Dynamic Binding

Dynamic binding also called dynamic dispatch is the process of linking procedure call to a specific sequence of code (method) at run-time. It means that the code to be executed for a specific procedure call is not known until run-time. Dynamic binding is also known as late binding or run-time binding.

Dynamic binding is an object oriented programming concept and it is related with polymorphism and inheritance.

Dynamic binding definition
Dynamic binding(dispatch) means that a block of code executed with reference to a procedure(method) call is determined at run time.

Dynamic dispatch is generally used when multiple classes contain different implementations of the same method. It provides a mechanism for selecting the function to be executed from various function alternatives at the run-time. In C++, virtual functions are used to implement dynamic binding.