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 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.