La liaison dynamique est le processus de connexion d'une fonction (appel de procédure) à une méthode spécifique (séquence de code) au moment de l'exécution. Cela signifie que la fonction à exécuter par une méthode reste inconnue jusqu'à l'exécution -temps. La liaison dynamique est également appelée liaison à l'exécution ou liaison tardive.
Le concept de liaison est étroitement lié à d'autres concepts de programmation orientés objet tels que l'héritage et le polymorphisme. La liaison fait simplement référence au lien entre la définition de la méthode et l'appel de la méthode. Les objets réels sont utilisés pendant l'exécution pour la liaison. La liaison dynamique permet aux développeurs d'interfacer de nouvelles séquences de code et de nouveaux objets avec un système sans modifier le code existant, éliminant ainsi les instructions de commutation. La substitution de méthode est un bon exemple de liaison dynamique.
Le contraire de la liaison dynamique est la liaison statique. Contrairement à la liaison dynamique, la liaison statique se produit lors de la compilation. Elle est parfois appelée liaison anticipée car la liaison se produit avant l'exécution de l'application. Un bon exemple de liaison statique est la surcharge de méthode. Une autre différence clé entre les deux types de liaison est que la liaison statique utilise les informations de classe pour la liaison, tandis que la liaison dynamique utilise des objets pour résoudre la liaison. L'heure à laquelle la liaison se produit affecte les performances globales du programme. Si la fixation se produit plus tôt, la sécurité et l'efficacité augmentent tandis que la flexibilité diminue.