Banner Java

Enkapsulasi Data Dengan Aksesor Dan Mutator

Enkapsulasi (encapsulation) adalah konsep menyembunyikan implementasi detail sebuah kelas dan memperbolehkan pengaksesan ke kelas tersebut melalui data field dan metoda yang mempunyai modifier public. Namun demikian, data field sebuah kelas yang dideklarasikan dengan modifier public bisa menimbulkan masalah karena dapat dimodifikasi dengan cara diakses langsung melalui variabel yang mengacu ke obyek kelas (variabel acuan).

Untuk mencegah modifikasi langsung melalui variabel acuan, data field sebuah kelas perlu dideklarasikan dengan modifier private. Dengan modifier private ini, data field tidak dapat diakses dari luar kelas yang mendefinisikan data field tersebut. Agar client program bisa mengakses atau memodifikasinya nilai data field, perlu disediakan metoda dengan modifier public. Metode yang dimaksud adalah get untuk mengembalikan nilai data field dan set untuk memodifikasi nilai data field.

Aksesor dan mutator.

Metode get disebut juga dengan getter atau accessor dan metoda set disebut dengan setter atau mutator. Di bawah ini adalah sintak untuk mendeklarasikan metode yang digunakan untuk mengembalikan nilai data field sebuah kelas.

   public tipe-nilai-dikembalikan getDataField();

contoh,

   public double getPanjang();
   public double getLebar();

apabila tipe-nilai-dikembalikan metoda get adalah tipe boolean, sintaksis penulisannya adalah:

   public boolean isDataField();

Untuk mendeklarasikan metoda set yang digunakan untuk memodifikasi nilai data field kelas, Anda dapat menggunakan sintak sebagai berikut:

   public void setDataField(tipe-data nilai-DataField);

contoh,

   public void setPanjang(double nilaiPanjang);
   public void setLebar(double nilaiLebar);

Karena data field dideklarasikan dengan modifier private, maka metode get merupakan satu-satunya cara untuk mengakses nilai data field dan metode set merupakan satu-satunya cara untuk memodifikasi nilai data field.

Penerapan metoda get dan set.

Data field sebuah kelas yang dideklarasikan dengan modifier private tidak dapat diakses lagi menggunakan variabel acuan ke obyek. Data field hanya dapat diakses dan dimodifikasi melalui metoda get dan set yang dedeklarasikan dengan modifier public.

Berikut ini adalah contoh kode program hasil modifikasi contoh kode program di artikel Mendefinisikan Kelas Generik Java dengan mengimplementasikan metode get dan set.

public class SetGetWarna {

   // Deklarasi data field atau variabel kelas
   private T nilaiWarna;

   // Konstruktor tanpa argumen
   public SetGetWarna() {
      nilaiWarna = null;
   }

   // Konstruktor dengan argumen
   public SetGetWarna(T warnaBaru) {
      nilaiWarna = warnaBaru;
   }

   // Metode set (setter atau mutator)
   public void setNilaiWarna(T nilaiWarnaBaru) {
      nilaiWarna = nilaiWarnaBaru;
   }

   // Metode get (getter atau accessor)
   public T getNilaiWarna() {
      return nilaiWarna;
   }

   // Method overriding
   public String toString() {
      return ("Warna : " + nilaiWarna.toString());
   }

   // Metoda samaDengan
   public boolean samaDengan(Object setGetWarna2) {
      if (setGetWarna2 == null)
         return false;
      else {
         SetGetWarna warnaLain = (SetGetWarna) setGetWarna2;
         return nilaiWarna.equals(warnaLain.nilaiWarna);
      }
   }
}

Baris nomor 17 – 19 adalah metoda set (setNilaiWarna) yang digunakan untuk merubah nilai warna yang tersimpan di data field nilaiWarna dengan nilai baru yang tersimpan di parameter nilaiWarnaBaru. Baris nomor 22 – 24 mendeklarasikan metoda get (getNilaiWarna) yang digunakan untuk mendapatkan nilai yang tersimpan di data field nilaiWarna.

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.