Perbedaan Antara Static Binding Dan Dynamic Binding

Daftar Isi:

Perbedaan Antara Static Binding Dan Dynamic Binding
Perbedaan Antara Static Binding Dan Dynamic Binding

Video: Perbedaan Antara Static Binding Dan Dynamic Binding

Video: Perbedaan Antara Static Binding Dan Dynamic Binding
Video: Wawancara Java 04 - Pengikatan Statis Vs Pengikatan Dinamis 2024, Mungkin
Anonim

Perbedaan Kunci - Pengikatan Statis vs Pengikatan Dinamis

Bahasa pemrograman seperti Java dan C # mendukung Pemrograman Berorientasi Objek (OOP). Ini memungkinkan membangun perangkat lunak menggunakan objek. Ada banyak objek dalam sistem perangkat lunak atau program. Objek-objek ini memiliki atribut dan metode. Atribut menggambarkan karakteristik. Metode menggambarkan tindakan yang dapat dilakukan oleh objek. Data dilewatkan melalui objek menggunakan metode. Nilai yang diperlukan dikirim melalui panggilan metode dengan parameter. Implementasi metode yang sebenarnya ada dalam definisi metode. Ada hubungan antara pemanggilan metode dan definisi metode. Itu dikenal sebagai mengikat. Ada dua jenis binding. Mereka mengikat statis dan mengikat dinamis. Perbedaan utama antara pengikatan statis dan pengikatan dinamis adalah, dalam pengikatan statis, pengikatan diselesaikan pada waktu kompilasi sementara pengikatan dinamis diselesaikan pada waktu proses,yang merupakan waktu eksekusi sebenarnya. Artikel ini membahas perbedaan antara dua mekanisme pengikatan ini.

ISI

1. Gambaran Umum dan Perbedaan Kunci

2. Apa itu Pengikatan Statis

3. Pengikatan Dinamis

4. Persamaan Antara Pengikatan Statis dan Pengikatan Dinamis

5. Perbandingan Berdampingan - Pengikatan Statis vs Pengikatan Dinamis dalam Bentuk Tabular

6. Ringkasan

Apa itu Static Binding?

Binding adalah hubungan antara pemanggilan metode dan definisi metode.

Perbedaan Antara Static Binding dan Dynamic Binding
Perbedaan Antara Static Binding dan Dynamic Binding

Gambar 01: Pengikatan Statis dan Pengikatan Dinamis

Lihat program di bawah ini yang ditulis dalam Java.

kelas publik A {

public void method1 () {

System.out.println ("Metode1");

}

public void method2 () {

System.out.println ("Metode2");

}

public static void main (String args) {

A obj = baru A ();

obj.method1 ();

obj.method2 ();

}

}

Menurut program di atas, sebuah objek tipe A dibuat. Kemudian metode1 dan metode2 dipanggil. Mengidentifikasi metode mana yang harus dipanggil untuk eksekusi dikenal sebagai binding. Pernyataan obj.method1 () akan memanggil method1 () dan obj.method2 () akan memanggil method2 (). Tautan ini mengikat.

Dalam pengikatan statis, pengikatan diselesaikan pada waktu kompilasi oleh kompilator. Ini juga dikenal sebagai pengikatan awal. Binding terjadi sebelum program benar-benar dijalankan. Pengikatan statis terjadi dalam kelebihan metode. Lihat program di bawah ini yang ditulis dalam Java.

Perhitungan public void {

public void sum (int x, int y) {

System.out.println (“Jumlahnya adalah“, x + y);

}

jumlah public void (double x, double y) {

System.out.println (“Jumlahnya adalah“, x + y);

}

public static void main (String args) {

Perhitungan cal = Perhitungan baru ();

cal.sum (2,3);

cal.sum (5.1, 6.4);

}

}

Menurut program di atas, saat melewatkan dua bilangan bulat, metode dengan dua bilangan bulat akan dipanggil. Saat melewatkan dua nilai ganda, metode yang sesuai dengan dua nilai ganda akan dipanggil. Proses pengikatan ini terjadi pada saat kompilasi. Kompilator mengetahui bahwa ia harus memanggil metode sum dengan dua nilai integer untuk cal.sum (2,3). Untuk cal (5.1,6.4), itu akan memanggil metode penjumlahan dengan dua nilai ganda. Semua informasi yang diperlukan diketahui sebelum runtime, sehingga meningkatkan efisiensi program dan kecepatan eksekusi.

Apa itu Dynamic Binding?

Dalam Dynamic Binding kompiler tidak menyelesaikan pengikatan pada waktu kompilasi. Pengikatan terjadi pada waktu berjalan. Ini juga dikenal sebagai pengikatan terlambat. Dynamic Binding terjadi dalam metode overriding. Lihat program yang ditulis di Java.

public class Shape () {

public void draw () {

System.out.println ("Gambar bentuk");

}

}

public class Circle () memperluas Shape {

public void draw () {

System.out.println ("Gambar lingkaran");

}

}

public class Triangle () meluas Shape {

public void draw () {

System.out.println ("Gambar segitiga");

}

}

Public class Test {

public static void main (String args) {

Bentuk s;

s = Bentuk baru ();

s.draw ();

s = Lingkaran baru ();

s.draw ();

s = Segitiga baru ();

s.draw ();

}

}

Menurut program di atas, class Shape memiliki metode draw (). Class Circle dan class Triangle memperluas kelas Shape. Kelas Lingkaran dan kelas Segitiga dapat mewarisi atribut dan metode Bentuk kelas. Oleh karena itu, bentuk kelas adalah kelas super atau kelas induk. Kelas Lingkaran dan Segitiga Kelas adalah sub kelas atau kelas turunan. Kelas-kelas ini juga memiliki metode draw () dengan implementasinya sendiri. Oleh karena itu, metode draw () di kelas super diganti.

Dalam metode utama, objek yang berbeda dipanggil. Ada variabel referensi dari tipe Shape, yaitu s. Kemudian, s memanggil metode sesuai dengan kelas tertentu. Pada waktu kompilasi, kompilator hanya akan merujuk metode menggambar kelas super. Saat eksekusi sebenarnya dimulai, ini akan mengarah pada eksekusi metode gambar yang berbeda. Pertama, s akan menunjuk ke objek bertipe Shape. Oleh karena itu, ini akan memanggil metode gambar di kelas Shape. Kemudian s akan menunjuk objek bertipe Circle, dan itu akan memanggil metode draw dari kelas Circle. Akhirnya, s akan merujuk ke objek bertipe Segitiga, dan itu akan memanggil metode menggambar di kelas Segitiga. Meskipun variabel referensi berjenis Shape, pengikatan bergantung pada jenis objek. Konsep ini dikenal dengan Dynamic Binding. Informasi diberikan pada saat berjalan,jadi kecepatan eksekusi lebih lambat dibandingkan dengan pengikatan statis.

Apa Persamaan Antara Static Binding dan Dynamic Binding?

Keduanya terkait dengan polimorfisme yang memungkinkan objek berperilaku dalam berbagai cara

Apa Perbedaan Antara Static Binding dan Dynamic Binding?

Artikel Diff Tengah sebelum Tabel

Pengikatan Statis vs Pengikatan Dinamis

Static Binding adalah jenis pengikatan yang mengumpulkan semua informasi yang diperlukan untuk memanggil fungsi selama waktu kompilasi. Dynamic Binding adalah jenis pengikatan yang mengumpulkan semua informasi yang diperlukan untuk memanggil fungsi selama waktu proses.
Waktu Pengikatan
Static Binding terjadi pada waktu kompilasi. Pengikatan dinamis terjadi pada waktu proses.
Kegunaan
Penjilidan Statis menggunakan informasi jenis untuk penjilidan. Pengikatan Dinamis menggunakan objek untuk menyelesaikan pengikatan.
Objek Sebenarnya
Penjilidan statis tidak menggunakan objek sebenarnya untuk penjilidan. Pengikatan dinamis, gunakan objek sebenarnya untuk pengikatan.
Sinonim
Pengikatan statis juga dikenal sebagai pengikatan awal. Pengikatan dinamis juga dikenal sebagai pengikatan akhir.
Eksekusi
Kecepatan eksekusi cepat dalam pengikatan statis. Kecepatan eksekusi rendah dalam pengikatan dinamis.
Contoh
Pengikatan statis digunakan dalam metode overloading. Pengikatan dinamis digunakan dalam penggantian metode.

Ringkasan - Pengikatan Statis vs Pengikatan Dinamis

Ada hubungan antara pemanggilan metode dan definisi metode. Itu dikenal sebagai mengikat. Ada dua jenis binding yang disebut binding statis dan binding dinamis. Perbedaan antara pengikatan statis dan pengikatan dinamis adalah bahwa pengikatan statis, pengikatan diselesaikan pada waktu kompilasi sementara pengikatan dinamis diselesaikan pada waktu proses, yang merupakan waktu eksekusi yang sebenarnya. Karena informasi yang diperlukan diberikan sebelum waktu proses, pengikatan statis berjalan cepat dibandingkan dengan pengikatan dinamis.

Unduh Static Binding vs Dynamic Binding dalam format PDF

Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini: Perbedaan Antara Penjilidan Statis dan Penjilidan Dinamis

Direkomendasikan: