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
OVE RLOADING
•
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
:







Comments