Unterschied zwischen statischer und dynamischer Bindung | Unterschied Zwischen | natapa.org

Unterschied zwischen statischer und dynamischer Bindung




Hauptunterschied: Statisches Binden tritt auf, wenn der Code kompiliert wird, während dynamisches Binden auftritt, wenn der Code zur Laufzeit ausgeführt wird.

Der Begriff Bindung, statisch und dynamisch, sind grundlegende Konzepte der Java-Programmierung. Diese Konzepte werden während des Lernens von Java früh vermittelt und sind beliebte Fragen, die in Vorstellungsgesprächen gestellt werden. Der Grund dafür ist, dass diese einfachen Konzepte den Interviewern oft mitteilen, wie gut man sich mit Java-Programmierung auskennt.

Bevor wir mit dem Unterschied zwischen statischer und dynamischer Bindung beginnen, sollten wir zuerst verstehen, was genau Bindung ist. Bindung bezieht sich auf die Verknüpfung, die zwischen dem Methodenaufruf und der Methodendefinition erstellt wird. Es informiert das System, welcher Code auf welche Weise ausgeführt werden soll. Wenn für einen Methodenaufruf keine Methodendefinition vorhanden ist, führt das System zu einem Fehler. Die statische und dynamische Bindung bestimmt, wann der Code tatsächlich ausgeführt wird.

Während die meisten Verweise während der Kompilierungszeit aufgelöst werden, gibt es einige Verweise, die ein tatsächliches Objekt erfordern und zur Laufzeit aufgelöst werden. Dies ist der Hauptunterschied zwischen statisch und dynamisch. Statisches Binden tritt auf, wenn der Code kompiliert wird, während dynamisches Binden auftritt, wenn der Code zur Laufzeit ausgeführt wird.

Während der Kompilierung prüft der Compiler während der Bindung nicht den Objekttyp, auf den eine bestimmte Referenzvariable zeigt. Er prüft nur, ob jede Methode eine Definition hat. Dies wird als statische Bindung oder frühe Bindung bezeichnet. Überlastete Methoden werden mittels statischer Bindung verbunden.

Beim dynamischen oder späten Binden prüft der Complier während des Bindens, ob ein tatsächliches Objekt zu binden ist, und erfordert daher die Ausführung des Programms. Überschriebene Methoden werden mittels dynamischer Bindung verbunden.

Vergleich zwischen statischer und dynamischer Bindung:

Statische Bindung

Dynamische Bindung

Bindungszeit

Geschieht zur Kompilierzeit

Geschieht zur Laufzeit

Aktuelles Objekt

Das tatsächliche Objekt wird nicht zum Binden verwendet

Das tatsächliche Objekt wird zum Binden verwendet

Auch bekannt als

Es wird auch als frühe Bindung bezeichnet, da die Bindung während des Kompilierens erfolgt

Es wird auch als spätes Binden bezeichnet, da das Binden zur Laufzeit erfolgt

Beispiel

Überladung der Methode

Überschreiben der Methode

Bindungsmethoden

Private, statische und letzte Methoden zeigen eine statische Bindung. Weil sie nicht überschrieben werden können.

Andere als private, statische und endgültige Methoden zeigen eine dynamische Bindung. Weil sie überschrieben werden können.

Klasse

Typklasse

Objektklasse

Bild mit freundlicher Genehmigung: javatpoint.com, thecrazyprogrammer.com

Vorheriger Artikel

Unterschied zwischen Duft und Parfüm

Nächster Artikel

Unterschied zwischen kontinentalem und italienischem Essen