Perbedaan Antara Pengikatan Statis dan Pengikatan Dinamis

Daftar Isi:

Perbedaan Antara Pengikatan Statis dan Pengikatan Dinamis
Perbedaan Antara Pengikatan Statis dan Pengikatan Dinamis

Video: Perbedaan Antara Pengikatan Statis dan Pengikatan Dinamis

Video: Perbedaan Antara Pengikatan Statis dan Pengikatan Dinamis
Video: Static vs Dynamic binding in Programming language 2024, Juli
Anonim

Perbedaan Kunci – Pengikatan Statis vs Pengikatan Dinamis

Bahasa pemrograman seperti Java dan C mendukung Pemrograman Berorientasi Objek (OOP). Hal 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 pemanggilan metode dengan parameter. Implementasi metode yang sebenarnya ada dalam definisi metode. Ada hubungan antara pemanggilan metode dan definisi metode. Hal ini dikenal sebagai mengikat. Ada dua jenis binding. Mereka adalah pengikatan statis dan pengikatan dinamis. Perbedaan utama antara pengikatan statis dan pengikatan dinamis adalah bahwa, dalam pengikatan statis, pengikatan diselesaikan pada waktu kompilasi sementara pengikatan dinamis diselesaikan pada waktu berjalan, yang merupakan waktu eksekusi yang sebenarnya. Artikel ini membahas perbedaan antara kedua mekanisme pengikatan ini.

Apa itu Pengikatan Statis?

Binding adalah penghubung antara pemanggilan metode dan definisi metode.

Perbedaan Antara Pengikatan Statis dan Pengikatan Dinamis
Perbedaan Antara Pengikatan Statis dan Pengikatan Dinamis

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”);

}

metode kekosongan publik2(){

System.out.println(“Metode2”);

}

public static void main(String args){

A obj=new A();

obj.method1();

obj.method2();

}

}

Menurut program di atas, objek bertipe A dibuat. Kemudian method1 dan method2 dipanggil. Mengidentifikasi metode mana yang harus dipanggil untuk dieksekusi 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 kompiler. Ini juga dikenal sebagai pengikatan awal. Binding terjadi sebelum program benar-benar berjalan. Pengikatan statis terjadi pada metode overloading. Lihat program di bawah ini yang ditulis dalam Java.

Perhitungan kekosongan publik{

public void sum(int x, int y){

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

}

public void sum(double x, double y){

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

}

public static void main(String args){

Calculation cal=new Calculation();

cal.sum(2, 3);

cal.sum(5.1, 6.4);

}

}

Menurut program di atas, ketika melewatkan dua bilangan bulat, metode dengan dua bilangan bulat akan dipanggil. Saat melewati 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), ia akan memanggil metode jumlah 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. Binding terjadi pada saat run time. Ini juga dikenal sebagai pengikatan terlambat. Dynamic Binding terjadi dalam metode override. Lihat program yang ditulis dalam Java.

Bentuk kelas publik(){

undian batal publik(){

System.out.println(“Menggambar bentuk”);

}

}

kelas publik Lingkaran() memperluas Bentuk{

undian batal publik(){

System.out.println(“Menggambar lingkaran”);

}

}

kelas publik Segitiga() memperluas Bentuk{

undian batal publik(){

System.out.println(“Menggambar segitiga”);

}

}

Tes kelas publik{

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, kelas Shape memiliki metode draw(). Kelas Lingkaran dan kelas Segitiga memperluas kelas Bentuk. Kelas Lingkaran dan kelas Segitiga dapat mewarisi atribut dan metode kelas Bentuk. Oleh karena itu, kelas Shape adalah kelas super atau kelas induk. Kelas Lingkaran dan Kelas Segitiga 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 tipe Shape, yaitu s. Kemudian, s memanggil metode sesuai dengan kelas tertentu. Pada waktu kompilasi, kompiler hanya akan merujuk metode draw kelas super. Ketika eksekusi sebenarnya dimulai, itu akan mengarah pada eksekusi metode undian yang berbeda. Pertama, s akan menunjuk ke objek bertipe Shape. Oleh karena itu, ia akan memanggil metode draw di kelas Shape. Kemudian s akan menunjuk objek bertipe Circle, dan itu akan memanggil metode draw dari kelas Circle. Terakhir, s akan mengacu pada objek bertipe Triangle, dan akan memanggil metode draw di kelas Triangle. Meskipun variabel referensi bertipe Shape, pengikatan terjadi bergantung pada tipe objek. Konsep ini dikenal sebagai Dynamic Binding. Informasi diberikan pada saat run time, sehingga kecepatan eksekusi lebih lambat dibandingkan dengan pengikatan statis.

Apa Persamaan Antara Static Binding dan Dynamic Binding?

Keduanya terkait dengan polimorfisme yang memungkinkan suatu objek berperilaku dalam berbagai cara

Apa Perbedaan Static Binding dan Dynamic Binding?

Pengikatan Statis vs Pengikatan Dinamis

Pengikatan Statis 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 berjalan.
Waktu Pengikatan
Pengikatan Statis terjadi pada waktu kompilasi. Pengikatan dinamis terjadi saat run time.
Fungsionalitas
Pengikatan Statis menggunakan informasi jenis untuk pengikatan. Dynamic Binding menggunakan objek untuk menyelesaikan untuk mengikat.
Objek Sebenarnya
Penjilidan statis tidak menggunakan objek sebenarnya untuk penjilidan. Pengikatan dinamis, gunakan objek sebenarnya untuk penjilidan.
Sinonim
Pengikatan statis juga dikenal sebagai pengikatan awal. Pengikatan dinamis juga dikenal sebagai pengikatan lambat.
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. Hal ini dikenal sebagai mengikat. Ada dua jenis pengikatan yang disebut pengikatan statis dan pengikatan dinamis. Perbedaan antara pengikatan statis dan pengikatan dinamis adalah bahwa dalam pengikatan statis, pengikatan diselesaikan pada waktu kompilasi sementara pengikatan dinamis diselesaikan pada waktu berjalan, yang merupakan waktu eksekusi yang sebenarnya. Karena informasi yang diperlukan diberikan sebelum waktu berjalan, pengikatan statis cepat dalam eksekusi dibandingkan dengan pengikatan dinamis.

Unduh PDF Static Binding vs Dynamic Binding

Anda dapat mengunduh versi PDF artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini: Perbedaan Antara Static Binding dan Dynamic Binding

Direkomendasikan: