Halo sobat koding, balik lagi nih di pembahasan OOP (Object Oriented Programming). Pada kesempatan kali ini gw akan bahas konsep Encapsulation. Jadi apa sih Encapsulation itu ?
Encapsulation sendiri artinya pembungkusan. Pembungkus disini dimaksudkan untuk menjaga suatu proses program (Object atau Class) agar tidak dapat diakses sembarangan dan diintervensi oleh program lain.
Encapsulation diimplementasikan dalam bentuk Class. Class yg berisikan Property dan Method ini memiliki hak akses yang disebut Access Modifier, yang terdiri dari Private, Protected, dan Public.
Private : hanya memberikan akses untuk Class itu sendiri, sehingga hanya bisa mengubah nilai Property dan Method di Class itu sendiri.
Protected : hanya memberikan akses untuk Class itu sendiri dan anak dari Class itu. Dalam OOP khususnya Class ada istilah Parent dan Child. Parent Class ini bisa mewariskan semua Property dan Method ke Child Class. Pembahasan lengkapnya di Inheritance Chapter.
Public : memberikan akses untuk semua Class, sehingga bisa diakses dari Class lain.
Penggunaan Encapsulation ini sering digunakan dalam Model Class yang dikenal dengan Getter Setter. Getter adalah sebuah method untuk mendapatkan data dari sebuah Class. Setter adalah sebuah method untuk mengatur data dalam sebuah Class. Berikut contoh nya :
Bisa dilihat dari gambar, ada sebuah Class yang diberi nama `MobilItem`. Di dalam Class memiliki property yaitu : jumlahBan, warnaMobil, dan tenagaMesin. Masing-masing property itu diatur hak aksesnya menjadi private.
Lalu bagaimana kita bisa mengambil dan mengatur property dari di luar Class ?
Nah.. kita menggunakan Getter untuk mengambil data, dan Setter untuk mengatur nilai, yang dimana masing-masing diberikan akses public.
Perlu dicatat, Getter Method adalah method yang mengembalikan nilai sebuah property, makanya diakhiri dengan `return`. Method diawali dengan mengatur Nilai Balikannya. Berikut contohnya.
Setter Method adalah method untuk mengatur sebuah nilai property. Method diawali dengan `void`(dalam Java) dan menambahkan parameter. Berikut contohnya.
Lalu kita akan memanggil Class tersebut dari class lain. Berikut caranya.
Pertama-tama kita buat Object dari Class MobilItem yang diberi nama `ferrari`. Kemudian kita atur property-nya, disini ada atur jumlah ban, warna mobil, dan tenaga mesin. Kita atur dengan Setter. Setelah itu di keluarkan dengan Getter.
Nah… seperti itulah konsep Encapsulation, mudah-mudahan kalimat gw bisa di mengerti. Kita akan lanjutkan konsep lainnya di postingan selanjutnya. Thank you.
See you on the Next Chapter…