this → Artikel Baru – ( Atrikel Lama ↓ )

2 Konsep Utama Static vs Dynamic Binding pada Java

Dalam artikel ini akan dijelaskan perbandingan antara static binding dan dynamic binding dalam bahasa pemrograman Java.

Static Binding: binding yang dapat diselesaikan pada saat waktu kompilasi oleh kompilator dikenal sebagai static atau early bindingBinding dari method staticprivate, dan final diselesaikan pada waktu kompilasi program.

Binding dari Method StaticFinal, dan Private Selalu Static
Static binding memiliki performa yang lebih baik karena tidak ada overhead ekstra yang dipersyaratkan dan kompilator mengetahui hal tersebut, bahwa method seperti itu tidak bisa overridden dan selalu dapat diakses oleh object dari class lokal. Karenanya, kompilator tidak memiliki kesulitan apapun untuk menentukan object dari class lokal. Inilah alasan kenapa method binding adalah selalu static


Pahami pula, tentang semua konsep desain Web untuk tingkat pemula melalui materi lengkap JAVA [klik].


Perhatikan contoh berikut ini:

public class NewClass 

{

 

public static class superclass 

static void print() 

{System.out.println("dicetak"

+" dalam superclass.");} 

}

 

public static class subclass extends superclass 

static void print() 

{System.out.println("dicetak"

+" dalam subclass.");} 

 

public static void main(String[] args

{superclass A = new superclass(); 

superclass B = new subclass(); 

A.print(); 

B.print();} 

}

Output:
dicetak dalam superclass.
dicetak dalam superclass.

Seperti yang terlihat dalam kedua kasus method print dari superclass yang dipanggil sebelumnya. Makan, perhatikan kenapa hal tersebut dapat terjadi:
  • satu, Dapat diciptakan satu object dari subclass dan satu object dari superclass dengan referensi dari superclass.
  • dua, Ketika method print dari superclass adalah static, maka kompilator dapat mengetahui bahwa method tersebut tidak akan overridden dalam subclass dan karenya kompilator dapat mengenali hal tersebut, maka selama waktu kompilasi, method print akan dipanggil dan tidak akan terjadi ambiguitas sama sekali.

Pada latihan berikut ini, nilai referensi dapat diubah dari object B menuju subclass dan memeriksa hasil output-nya.


Baca juga, tentang materi bahasa pemrograman lainnya melalui Materi Lengkap 

Bahasa Pemrograman [klik].


Dynamic Binding: pada dynamic binding kompilator tidak memutuskan method mana yang akan dipanggil. Overriding adalah sebuah contoh sempurna dari dynamic binding. Dalam overriding kedua parent dan child class memiliki method yang sama. 

Perhatikan contoh berikut ini:

public class NewClass 

 

public static class superclass 

void print() 

{System.out.println("dicetak"

+" dalam superclass.");} 

 

public static class subclass extends superclass 

@Override

void print() 

{System.out.println("dicetak"

+" dalam subclass.");} 

 

public static void main(String[] args

{superclass A = new superclass(); 

superclass B = new subclass(); 

A.print(); 

B.print();} 

}

Output:
dicetak dalam superclass.
dicetak dalam subclass.

Hasil dari output memiliki keluaran yang berbeda, karena:
  • Pada contoh program method tidak static.
  • Selama kompilasi, kompilator tidak memiliki gagasan method print mana yang akan dipanggil ketika kompilator hanya memiliki variabel referensi saja dan tidak oleh tipe dari object. Dan karena hal tersebut, maka binding akan ditunda menuju ke runtime dan versi koresponden dari print akan dipanggil berdasarkan tipe object-nya.

Point penting
  • satu, Anggota privatefinal, dan static  yang berupa method dan variabel menggunakan static binding sementara untuk method virtual pada method Java virtual yang bersifat default, binding dilakukan selama runtime berdasarkan runtime object.
  • dua, Static binding menggunakan tipe informasi untuk binding sementara dynamic binding menggunakan object untuk menyelesaikan binding.
  • tiga, Overloaded method dapat diselesaikan dengan memutuskan method mana yang akan dipanggil ketika terdapat lebih dari satu method dengan nama sama menggunakan static binding, sementara overridden method menggunakan dynamic binding saat runtime.

Komentar

  1. Apa yang dimaksud dengan static binding pada Java?

    BalasHapus
    Balasan
    1. Static binding pada java adalah mengacu pada pelaksanaan program dimana jenis object ditentukan atau diketahui pada waktu kompilasi program, yaitu ketika kompilator mengeksekusi kode program, maka kompilator akan mengetahui jenis object atau class yang dimiliki oleh object tersebut.

      Hapus
  2. Bagaimana cara static binding bekerja pada Java?

    BalasHapus
    Balasan
    1. Static binding terjadi pada waktu kompilasi sementara dimana dynamic binding terjadi pada waktu proses tersebut. Ketika proses overriding terjadi dan referensi jenis tipe parent ditetapkan oleh object dari jenis instance class, dimana proses binding tersebut diselesaikan selama waktu proses dijalankan pada Java.

      Hapus
  3. Apa yang dimaksud dengan dynamic binding pada Java?

    BalasHapus
    Balasan
    1. Dalam dynamic binding Java, method call terikat pada body method ketika runtime dijalankan. Hal ini juga dikenal sebagai late binding, yang dilakukan dengan menggunakan method instance.

      Hapus

Posting Komentar

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung. :D

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Enkapsulasi pada Java

Perbedaan stdio.h dan stdlib.h pada Bahasa C

Penjelasan Singkat tentang Konsep Asosiasi, Komposisi, dan Agregasi pada Java

3 Jenis Utama Looping pada Java