Instance Variabel Hiding Java dan Fungsinya
Pengertian
class Parent {int x = 10;}
class Child extends Parent
{
int x = 20;
void display() { System.out.println("Nilai x"
+ " di kelas turunan: "
+ x);
System.out.println("Nilai x"
+ " di kelas induk: "
+ super.x);}
}
public class Main {
public static void
main(String[] args) {
Child obj = new Child();
obj.display();}
}
class Test
{
// Variabel Instance atau
// anggota variabel.
private int value = 10;
void method(){
// Variabel lokal
// menyembunyikan variabel
// instance.
int value = 40;
System.out.println("Nilai "
+"dari variabel instance :"
+this.value);
System.out.println("Nilai "
+"dari variabel lokal :"
+value);}
}
class UseTest
{
public static void main(String args[])
{Test obj1 = new Test();
obj1.method();}
}
Nilai dari variabel lokal :40
Fungsi Instance Variable Hiding
- Memungkinkan penyesuaian nilai variabel: Dengan instance variable hiding, subclass dapat memiliki variabel dengan nilai yang berbeda dari variabel di-superclass. Hal ini memungkinkan untuk penyesuaian nilai yang lebih spesifik pada level subclass.
- Memberikan fleksibilitas dalam desain: Dalam beberapa kasus, subclass mungkin perlu memiliki variabel dengan nama yang sama dengan variabel di-superclass untuk tujuan tertentu. Instance variable hiding memberikan fleksibilitas dalam desain sehingga subclass dapat menimpa (override) perilaku atau nilai variabel superclass sesuai kebutuhan.
- Mendorong polimorfisme: Dalam polimorfisme, objek dari kelas turunan dapat digunakan secara generik sebagai objek kelas induk. Instance variable hiding memastikan bahwa saat menggunakan objek dari kelas turunan, yang diakses adalah variabel kelas turunan, sehingga mendukung polimorfisme.
- Membantu dalam pengimplementasian method overriden: Ketika sebuah metode di kelas induk di-override di kelas turunan, instance variable hiding dapat membantu dengan pengaksesan variabel yang sesuai. Dengan memungkinkan kelas turunan untuk memiliki variabel dengan nama yang sama, ini memudahkan dalam penggunaan variabel dalam metode yang di-override.
- Mengelola data dengan lebih terstruktur: Dengan memungkinkan kelas turunan untuk memiliki variabel dengan nama yang sama, instance variable hiding dapat membantu dalam mengelola data dengan lebih terstruktur, terutama dalam hierarki kelas yang kompleks. Ini dapat membantu dalam pengorganisasian dan pemahaman yang lebih baik tentang data dalam aplikasi.
- Mendukung konsep encapsulation: Instance variable hiding juga mendukung konsep encapsulation dalam pemrograman berorientasi objek. Dengan memungkinkan variabel-variabel dengan nama yang sama di kelas turunan, ini memungkinkan untuk menyembunyikan detail implementasi dari kelas induk, dan hanya mengekspos fungsionalitas yang diperlukan kepada kelas-kelas lain.
- Mengurangi dependensi antar kelas: Dengan instance variable hiding, kelas turunan tidak perlu mengakses variabel langsung dari kelas induk, yang dapat mengurangi dependensi antar kelas. Ini dapat membantu dalam meningkatkan fleksibilitas dan maintainability (kemudahan pemeliharaan) dari kode.
- Menyulitkan pemahaman kode: Ketika terdapat variabel dengan nama yang sama di kelas induk dan kelas turunan, hal ini dapat menyulitkan pemahaman kode, terutama bagi pengembang yang baru mengenal atau mengelola kode tersebut. Hal ini dapat mengakibatkan kebingungan tentang sumber nilai variabel yang sebenarnya digunakan dalam suatu konteks tertentu.
- Membingungkan saat debugging: Saat debugging, instance variable hiding dapat menyebabkan kebingungan karena variabel yang sama memiliki nilai yang berbeda tergantung pada kelas mana yang sedang digunakan. Hal ini dapat memperumit proses identifikasi dan penyelesaian bug dalam kode.
- Potensial menyebabkan kesalahan: Jika tidak digunakan dengan hati-hati, instance variable hiding dapat menyebabkan kesalahan dalam kode. Penggunaan variabel yang salah dapat mengakibatkan perilaku yang tidak diinginkan atau tidak terduga dalam aplikasi.
- Mengurangi keterbacaan kode: Ketika variabel dengan nama yang sama digunakan di berbagai kelas, ini dapat mengurangi keterbacaan dan pemahaman keseluruhan dari struktur kode. Hal ini dapat membuat lebih sulit bagi pengembang lain untuk memahami dan memodifikasi kode di masa mendatang.
- Mengurangi kejelasan desain: Penggunaan instance variable hiding dapat menyebabkan desain kelas menjadi kurang jelas, terutama jika variabel yang sama digunakan dengan makna yang berbeda di kelas-kelas yang berbeda. Hal ini dapat mengurangi kohesi dan kesatuan dalam desain keseluruhan dari aplikasi.
Kesimpulan
- Java Bukan Pemrograman Berorientasi Objek Murni dan Alasannya
- Multiple Inheritance Java dan Fungsinya
- Membuat Object Java dari Class Turunan dan Fungsinya
- Inheritance dan Constructor Java dan Fungsinya
- Interface dan Inheritance Java dan Fungsinya
- Menggunakan Final Inheritance Java dan Fungsinya
- Mengakses Anggota Grandparent Java Menggunakan Keyword Super
5 komentar untuk "Instance Variabel Hiding Java dan Fungsinya"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Jika superclass dan subclass memiliki variabel instance dengan nama yang sama, maka user dapat mengaksesnya menggunakan object subclass, dimana instance dari subclass akan menyembunyikan variabel instance dari superclass terlepas dari tipenya apapun yang digunakan dalam bahasa pemrograman Java.
BalasHapusApa yang dimaksud dengan variabel instance pada Java?
BalasHapusInstance variabel adalah variabel yang dideklarasikan pada class tetapi berada di luar dari constructor, method, ataupun block pada Java. Variabel instance dibuat ketika sebuah object telah diciptakan instancenya, dan dapat diakses oleh semua constructor, method, ataupun block pada class.
HapusApa yang dimaksud dengan variabel hiding pada Java?
BalasHapusVariabel hiding terjadi ketika dilakukan pendefinisian variabel dalam child class dengan nama yang sama dengan parent class. Child class dapat mendeklarasikan variabel dengan nama yang sama sebagai variabel yang diwariskan dari parent class, sehingg dapat menyembunyikan variabel yang diwariskan.
Hapus