Apa itu Enkapulasi?





ENKAPSULASI

Mengenal Sedikit Tentang Enkapulasi
Pengertian Enkapsulasi
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni : Information hiding , Interface to access data.
      Information Hiding
      Satu teknik menyembunyikan data dari sebuah kelas agar data tersebut tidak dapat diakses oleh kelas lain.
      Dilakukan dengan cara memberikan modifier private pada variable.
      Interface to Access
      Berfungsi untuk mengakses nilai dari suatu suatu variable yang telah disembunyikan (Information Hiding) yang bertujuan untuk memanipulasi data.
      Konsep ini dapat dilakukan dengan menggunakan sebuah method.
      Method ini dapat mengakses variable yang sebelumnya tidak dapat diakses.

Contoh :
1.      Kelas Mobil









2. Kelas Modul1 (Kelas Pemanggil)






Dalam enkapsulasi terdapat hak akses public, protected, dan private. Hak akses public memungkinkan semua kelas mengaksesnya, hak akses protected hanya diberikan kepada kelasnya sendiri dan turunannya, serta kelas-kelas dalam satu paket. Sedangkan private hanya boleh diakses oleh kelasnya sendiri.
Konstruktor
      Method khusus yang akan dijalankan saat pada saat pembuatan objek (Instance).
      Cara mudah mengenali konstruktor adalah dengan melihat nama kelas dengan konstruktornya.
      Nama konstruktor selalu sama dengan nama kelas!
      Dapat ditulis dengan menggunakan parameter ataupun tidak.
Penggunaan Konstruktor tanpa parameter
Kelas Pemanggil





Penggunaan Konstruktor dengan parameter





Kelas Pemanggil







OVERLOADING
      Method dengan nama yang sama, namun memiliki parameter yang berbeda.
      Dilakukan pada kelas yang sama.
      Penggunaan Overloading dapat diaplikasikan pada Konstruktor maupun method yang biasa pada umumnya.








Mengapa jika hak akses public pada konstruktor manusia di ganti dengan PRIVATE, program akan ERROR ? Private, adalah level proteksi untuk andi yang berada di dalam manusia. Si andi tidak boleh keluar dari manusia karena mempunya level proteksi paling tinggi. Dalam implementasinya, field dengan level proteksi private hanya dapat diakses di dalam class tersebut.
Dalam teori, dapatkah kita memberikan hak akses pada konstruktor??? Constructor berfungsi untuk menginisialisasi obyek dari class dan mempersiapkan ruang memory, sedangkan destructor menghapus dan membersihkan obyek ketika sudah tidak terpakai dan membebaskan memory yang tadinya terpakai. Constructor method merupakan method yang namanya sama dengan nama classnya dan bersifat public tapi tidak berjenis void ataupun non void. Constructor dapat menerima parameter namun tidak bisa mengembalikan nilai apapun.
Bagaimana solusi agar program dapat berjalan?? Konstruktor diubah menjadi protected atau public atau bisa juga menerapkan interface to access.
Program Sederhana
class belajar{
public String x =”Pintar”;
private String y = “Java”;
}
Pintar.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}
Sumber :
·         http://azhar-pti.blogspot.com



Comments