Encapsulation Pada Java

Encapsulation Pada Java

Encapsulation #

Encapsulation/Enkapsulasi berarti memastikan data sensitif di dalam suatu class dan object disembunyikan dari user yang tidak diinginkan. Untuk mencapai ini, Anda harus :

  • Mendeklarasikan atribut/variabel sebagai private
  • Menyediakan method publik get dan set untuk mengakses dan memperbarui nilai dari variabel private

Get dan Set #

Anda telah mempelajari pada tutorial sebelumnya bahwa variabel private hanya dapat diakses di dalam class yang sama (class di luar itu tidak memiliki akses). Namun, masih memungkinkan untuk diakses jika kita menyediakan method publik get dan set.

Method get mengembalikan nilai variabel dan method set untuk menetapkan nilainya.

Cara penulisan untuk keduanya adalah dimulai dengan get atau set, diikuti dengan nama variabel, dengan huruf awal kapital. Contoh :

public class Orang {
    private String nama; // private = akses terbatas

    // Getter
    public String getNama() {
        return nama;
    }

    public void setNama(String namaBaru) {
        this.nama = namaBaru;
    }
}

Penjelasan Contoh #

Method get mengembalikan nilai dari variabel nama. Method set menerima sebuah parameter (namaBaru) dan menetapkannya pada variabel nama. Keyword ini digunakan untuk merujuk ke object saat ini. Namun, karena variabel nama dideklarasikan sebagai private, kita tidak dapat mengaksesnya dari luar class. Contoh :

public class Main {
    public static void main(String[] args) {
        Orang objectSaya = new Orang();
        objectSaya.nama = "John"; // error
        System.out.println(objectSaya.nama); // error
    }
}
public class Orang {
   private String nama ;

   // Getter
   public String getNama() {
     return nama;
   }

   // Setter
   public void setNama(String namaBaru) {
     this.nama = namaBaru;
   }
}

Jika variabel dideklarasikan sebagai public, kita bisa mengharapkan output seperti berikut :

John

Namun, karena kita mencoba untuk mengakses sebuah variabel private, kita mendapatkan error :

MyClass.java:4: error: nama has private access in Orang
    objectSaya.nama = "John";
         ^
MyClass.java:5: error: nama has private access in Orang
    System.out.println(objectSaya.nama);
                  ^
2 errors 

Sebagai gantinya, kita mengunakan method getNama() dan setNama() untuk mengakses dan mengupdate variabel. Contoh :

public class Main {
    public static void main(String[] args) {
        Orang objectSaya = new Orang();
        objectSaya.setNama("John"); // Menetapkan nilai dari variabel nama, yaitu "John"
        System.out.println(objectSaya.getNama()); // hasilnya "John"
    }
}
public class Orang {
   private String nama;

   // Getter
   public String getNama() {
     return nama;
   }

   // Setter
   public void setNama(String namaBaru) {
     this.nama = namaBaru;
   }
}

Output :

John

Mengapa Memakai Encapsulation? #

  • Kontrol yang lebih baik untuk atribut dan method class
  • Atribut class dapat dibuat read-only (jika Anda hanya menggunakan method get), atau write-only (jika Anda hanya menggunakan method set)
  • Fleksibel karena programmer dapat mengubah satu bagian dari kode tanpa mempengaruhi bagian lainnya
  • Meningkatkan keamanan data

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0