ARTIKEL
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
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.
§ Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.
Sebelumnya kita dapat mengakses anggota class baik
berupa atribut maupun method secara langsung dengan menggunakan objek yang
telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada
atribut maupun method yang ada di dalam class tersebut adalah ‘public’. Kita
dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut
tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses
kontrol ‘private’ ketika mendeklarasikan atribut atau method. Proses ini
disebut dengan information hiding.
Jika kita telah melakukan information hiding
terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan
perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah
dengan membuat suatu interface berupa method untuk menginisialisasi atau
merubah nilai dari suatu atribut tersebut yang dinamakan dengan interface to
access data.
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.
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);
}}
ANDI
MUHAMMAD IQBAL
13020110018
TIL 3.1
Tidak ada komentar:
Posting Komentar