Bahasa pemrograman seperti Java dan C # mendukung Object Oriented Programming (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 dibutuhkan dikirim melalui pemanggilan metode dengan parameter. Implementasi metode aktual adalah dalam definisi metode. Ada tautan antara pemanggilan metode dan definisi metode. Ini dikenal sebagai mengikat. Ada dua jenis binding. Mereka mengikat statis dan mengikat dinamis. Itu perbedaan utama antara mengikat statis dan mengikat dinamis adalah itu, dalam pengikatan statis, pengikatan diselesaikan pada waktu kompilasi sementara pengikatan dinamis diselesaikan pada saat run time, yang merupakan waktu pelaksanaan aktual. Artikel ini membahas perbedaan antara dua mekanisme yang mengikat ini.
1. Ikhtisar dan Perbedaan Utama
2. Apa itu Binding Statis
3. Apa itu Binding Dinamis
4. Kesamaan Antara Binding Statis dan Binding Dinamis
5. Perbandingan Berdampingan - Binding Statis vs Binding Dinamis dalam Bentuk Tabular
6. Ringkasan
Binding adalah tautan antara pemanggilan metode dan definisi metode.
Gambar 01: Penjilidan Statis dan Penjilidan Dinamis
Lihat program di bawah ini yang ditulis dalam Java.
kelas publik A
public void method1 ()
System.out.println ("Method1");
public void method2 ()
System.out.println ("Method2");
public static public void (String [] args)
A obj = new A ();
obj.method1 ();
obj.method2 ();
Menurut program di atas, objek tipe A dibuat. Kemudian method1 dan method2 dipanggil. Mengidentifikasi metode mana yang harus dipanggil untuk eksekusi dikenal sebagai mengikat. Pernyataan obj.method1 () akan memanggil method1 () dan obj.method2 () akan memanggil method2 (). Tautan ini mengikat.
Dalam pengikatan statis, pengikatan diselesaikan pada waktu kompilasi oleh kompiler. Ia juga dikenal sebagai mengikat awal. Binding terjadi sebelum suatu program benar-benar berjalan. Ikatan statis terjadi pada metode kelebihan beban. Lihat program di bawah ini yang ditulis dalam Java.
Perhitungan kekosongan publik
public void sum (int x, int y)
System.out.println (“Jumlahnya adalah“, x + y);
public void sum (double x, double y)
System.out.println (“Jumlahnya adalah“, x + y);
public static public void (String [] args)
Perhitungan cal = Perhitungan baru ();
cal.sum (2,3);
cal.sum (5.1, 6.4);
Menurut program di atas, ketika melewati dua bilangan bulat, metode dengan dua bilangan bulat akan dipanggil. Saat melewati dua nilai ganda, metode yang terkait dengan dua nilai ganda akan dipanggil. Proses pengikatan ini terjadi pada saat kompilasi. Kompiler tahu bahwa ia harus memanggil metode penjumlahan dengan dua nilai integer untuk cal.sum (2,3). Untuk cal (5.1.6.4), ia akan memanggil metode penjumlahan dengan dua nilai ganda. Semua informasi yang diperlukan diketahui sebelum runtime, sehingga meningkatkan efisiensi program dan kecepatan eksekusi.
Dalam Dynamic Binding, kompiler tidak menyelesaikan ikatan pada waktu kompilasi. Binding terjadi pada saat run time. Ia juga dikenal sebagai mengikat terlambat. Binding dinamis terjadi pada metode penimpaan. Lihat program yang ditulis dalam Java.
Bentuk kelas publik ()
public void draw ()
System.out.println ("Draw shape");
Lingkaran kelas publik () meluas Shape
public void draw ()
System.out.println ("Draw circle");
Segitiga kelas publik () meluas Shape
public void draw ()
System.out.println ("Draw triangle");
Tes kelas publik
public static public void (String [] args)
Bentuk s;
s = Bentuk baru ();
s.draw ();
s = Lingkaran baru ();
s.draw ();
s = Segitiga baru ();
s.draw ();
Menurut program di atas, Bentuk kelas memiliki metode menggambar (). Lingkaran Kelas dan Segitiga kelas memperluas kelas Shape. Lingkaran Kelas dan Segitiga kelas dapat mewarisi atribut dan metode Bentuk kelas. Oleh karena itu, bentuk kelas adalah kelas super atau kelas induk. Class Circle dan Class Triangle adalah sub kelas atau kelas turunan. Kelas-kelas ini juga memiliki metode draw () dengan implementasinya sendiri. Oleh karena itu, metode draw () di kelas super ditimpa.
Dalam metode utama, objek yang berbeda dipanggil. Ada variabel referensi dari tipe Bentuk, yaitu s. Kemudian, s memanggil metode sesuai dengan kelas tertentu. Pada waktu kompilasi, kompiler hanya akan merujuk metode undian kelas super. Ketika eksekusi aktual dimulai, itu akan mengarah pada eksekusi metode undian yang berbeda. Pertama, s akan menunjuk ke objek tipe Shape. Oleh karena itu, ia akan memanggil metode menggambar di kelas Shape. Maka s akan menunjuk objek tipe Circle, dan itu akan memanggil metode menggambar kelas Circle. Akhirnya, s akan merujuk ke objek tipe Triangle, dan itu akan memanggil metode menggambar di kelas Triangle. Meskipun variabel referensi adalah tipe Shape, pengikatan terjadi tergantung pada tipe objek. Konsep ini dikenal sebagai Dynamic Binding. Informasi ini diberikan pada saat dijalankan, sehingga kecepatan eksekusi lebih lambat dibandingkan dengan pengikatan statis.
Binding Statis vs Binding Dinamis | |
Binding Statis adalah jenis penjilidan yang mengumpulkan semua informasi yang diperlukan untuk memanggil suatu fungsi selama waktu kompilasi. | Binding Dinamis adalah jenis penjilidan yang mengumpulkan semua informasi yang diperlukan untuk memanggil suatu fungsi selama waktu berjalan. |
Waktu mengikat | |
Binding statis terjadi pada waktu kompilasi. | Pengikatan dinamis terjadi pada saat run time. |
Kegunaan | |
Binding Statis menggunakan informasi jenis untuk mengikat. | Binding Dinamis menggunakan objek untuk diselesaikan untuk mengikat. |
Obyek Aktual | |
Ikatan statis tidak menggunakan objek aktual untuk mengikat. | Mengikat dinamis, gunakan objek aktual untuk mengikat. |
Sinonim | |
Ikatan statis juga dikenal sebagai penjilidan awal. | Pengikatan dinamis juga dikenal sebagai pengikatan lanjut. |
Eksekusi | |
Kecepatan eksekusi cepat dalam pengikatan statis. | Kecepatan eksekusi mengikat dinamis rendah. |
Contoh | |
Ikatan statis digunakan dalam metode overloading. | Pengikatan dinamis digunakan dalam metode penimpaan. |
Ada tautan antara pemanggilan metode dan definisi metode. Ini dikenal sebagai mengikat. Ada dua jenis binding yang disebut static binding dan dynamic binding. Perbedaan antara pengikatan statis dan pengikatan dinamis adalah bahwa dalam pengikatan statis, pengikatan diselesaikan pada waktu kompilasi sementara pengikatan dinamis diselesaikan pada saat run time, yang merupakan waktu pelaksanaan aktual. Karena informasi yang diperlukan disediakan sebelum waktu berjalan, pengikatan statis cepat dalam pelaksanaannya dibandingkan pengikatan dinamis.
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
1.Java Wawancara 04 - Penjilidan Statis Vs Penjilidan Dinamis, Tutorial Mahika, 27 Desember 2017. Tersedia di sini