Selasa, 25 Juni 2013

Pengertian Access Modifier

Pengertian Access Modifier, Secara definisi, access modifier adalah batasan dan cara mengakses suatu properti dan/atau fungsi dari sebuah kelas. Dengan access modifier inilah salah satu tujuan belajar OOP dapat dicapai yaitu enkapsulasi data. Enkapsulasi data merupakan cara melindungi atribut/fungsi tertentu dari sebuah kelas agar tidak sembarangan diakses dan dimodifikasi di suatu bagian program sehingga validitas data bisa terjaga.
Waktu saya belajar OOP dulu, katanya access modifier ada 4 macam, tapi di referensi lain disebutkan 3, karena yang 1 lagi jarang sekali dipakai dan cukup rumit. Jadi, mungkin akan kita bahas yang 3 saja, yang umum dan sering digunakan.

PUBLIC
Public, seperti namanya, atribut atau fungsi yang diberi access modifier ini bebas diakses dari manapun dari program. Umumnya, sebuah fungsi constructor dan destructor pasti public. Kemudian fungsi-fungsi accessor dan modifier juga diberi akses public. Namun, tidak semua juga harus dijadikan public, karena tidak semua fungsi juga boleh diakses dari luar kelas, tergantung kebutuhan.

PRIVATE
Atribut atau fungsi yang diberi akses private hanya bisa diakses didalam kelas itu sendiri. Umumnya atribut yang menggambarkan sifat objek diberi akses private. Hal ini dilakukan untuk melindungi validitas data dan keperluan error handling. Karena itulah, ditambahkan fungsi accessor dan/atau modifier untuk setiap atribut private. Fungsi accessor atau yang sering disebut fungsi getter dibuat untuk mengambil properti kelas tanpa bisa mengubahnya. Jadi fungsi accessor ini tipe datanya sama seperti atribut yang akan diambil nilainya, dan isinya hanya return value dari atribut yang bersangkutan saja. Sedangkan fungsi modifier atau yang disebut setter dibuat untuk mengubah nilai atribut kelas. Tentunya, dengan disertai error handling dan batasan lain didalamnya. sehingga atribut kelas tetap bisa diubah namun terkontrol dan tepat. Sama halnya dengan fungsi yang tidak selalu diberi akses public, atribut juga tidak harus dan tidak selalu diberi akses private, public, atau protected.

PROTECTED
Protected merupakan access modifier yang hanya akan muncul jika ada lebih dari 1 kelas dalam suatu soalus permasalahan dan ada kelas yang mendapat pewarisan sifat(inheritance) dari kelas lain. Jadi, dengan memberi akses protected, suatu atribut dan/atau fungsi bisa diakses penuh dari kelas turunan(child).

Sekian dulu pembahasan kali ini tentang Access Modifier