Dynamische Bindung ist der Vorgang, bei dem eine Funktion (Prozeduraufruf) zur Laufzeit mit einer bestimmten Methode (Codesequenz) verbunden wird. Dies bedeutet, dass die von einer Methode auszuführende Funktion bis zur Ausführung unbekannt bleibt -Zeit. Die dynamische Bindung wird auch als Laufzeitbindung oder späte Bindung bezeichnet.
Das Bindungskonzept ist eng mit anderen objektorientierten Programmierkonzepten wie Vererbung und Polymorphismus verwandt. Bindung bezieht sich einfach auf die Verbindung zwischen Methodendefinition und Methodenaufruf. Tatsächliche Objekte werden während der Laufzeit für die Bindung verwendet. Die dynamische Bindung ermöglicht es Entwicklern, neue Codesequenzen und Objekte mit einem System zu verbinden, ohne den vorhandenen Code zu ändern, wodurch switch-Anweisungen eliminiert werden. Das Überschreiben von Methoden ist ein gutes Beispiel für dynamische Bindungen.
Das Gegenteil von dynamischer Bindung ist die statische Bindung. Im Gegensatz zur dynamischen Bindung erfolgt die statische Bindung während der Kompilierung. Es wird manchmal als frühe Bindung bezeichnet, da die Bindung erfolgt, bevor die Anwendung ausgeführt wird. Ein gutes Beispiel für statische Bindung ist das Überladen von Methoden. Ein weiterer wichtiger Unterschied zwischen den beiden Bindungstypen besteht darin, dass die statische Bindung Klasseninformationen für die Bindung verwendet, während die dynamische Bindung Objekte zum Auflösen der Bindung verwendet. Der Zeitpunkt, zu dem die Bindung auftritt, beeinflusst die Gesamtleistung des Programms. Erfolgt die Bindung früher, steigt die Sicherheit und Effizienz, während die Flexibilität abnimmt.