Perlindungan data dan informasi dengan enkapsulasi
​
Akses Modifier
Terdapat 4 macam access modifiers di JAVA, yaitu : public, private, protected dan default. 3 tipe akses pertama tertulis secara ekplisit pada kode untuk mengindikasikan tipe akses, sedangkan yang keempat yang merupakan tipe default, tidak diperlukan penulisan keyword atas tipe.
​
​
​
​
​
​
​
​
​
Public
Dapat dilihat pada table diatas bahwa keyword Public dapat diakses didalam class itu sendiri, dapat diakses dengan menggunakan metode extend dan instan pada paket yang sama, serta dapat diakses dengan metode extend maupun instan dalam paket yang berbeda.
Artinya hak akses public dapat diakses oleh sembarang object manapun dan dimanapun posisinya serta dengan apapun caranya. Data maupun method yang bersifat public dapat diakses oleh semua bagian didalam program. Dengan kata lain, data–data maupun method-method yang dideklarasikan dengan tingkat akses public akan dikenali atau dapat diakses oleh semua kelas yang ada didalam, baik yang merupakan kelas turunan maupun kelas yang tidak memiliki hubungan sama sekali. Untuk mendeklarasikan suatu data atau method dengan tingkat akses public, gunakan kata kunci public.
Berikut contoh program sederhana :
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
Program diatas akan menghasilkan tampilan berikut: nilai a: 2 nilai b: 3 program diatas terdiri dari dua kelas yaitu kelas sekunder yang berisi variabel a, b dan c dengan tingkat akses yang berbeda, dan kelas primer yang berisi objek untuk melakukan instance pada kelas turunan, objek pada kelas primer hanya dapat mengisi nilai pada variabel a dan b karena kedua variabel tersebut memiliki tingkat akses public dan protected, karena variabel c memiliki tingkat akses private maka obyek pada kelas primer tidak bisa mengisi variabel tersebut.
Protected
Suatu data maupun method yang dideklarasikan dengan tingkat akses protected dapat diakses oleh kelas yang memilkinya dan juga oleh kelas– kelas yang masih memiliki oleh hubungan turunan. Sebagai contoh, apabila data x dalam kelas A dideklarasikan sebagai protected, maka kelas B (yang merupakan turunan dari kelas A) diizinkan untuk mengakses data x. Namun apabila terdapat kelas lain, misalnya C (yang bukan merupakan turunan dari kelas A maupun B), tetap tidak dapat mengakses data – data yang dideklarasikan dengan tingkat akses protected. Untuk mendeklarasikan suatu data atau method dengan tingkat akses protected, gunakan kata kunci ptotected.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
Dari contoh program protected yang dapat mengakses hanya kelas motor dan kelas turunannya, yaitu Honda
Private
Dengan mendeklarasikan data dan method menggunakan tingkat akses private, maka data dan method tersebut hanya dapat diakses oleh kelas yang memilikinya saja. Ini berarti data dan method tersebut tidak boleh diakses atau digunakan oleh kelas-kelas lain yang terdapat didalam program. Untuk mendeklarasikan suatu data atau method dengan tingkat akses private, gunakan kata kunci private.
​
​
​
​
​
​
​
​
​
​
Pada contoh diatas, variabel nama dan method getNama() hanya dapat diakses oleh method internal class tersebut.
Default
Untuk hak akses default ini, sebenarnya hanya ditujukan untuk class yang ada dalam satu paket, atau istilahnya hak akses yang berlaku untuk satu folder saja (tidak berlaku untuk class yang tidak satu folder/package).
​
​
​
​
​
​
​
​
​
Pada contoh diatas, variabel nama dan method getNama() hanya dapat diakses oleh method internal class tersebut.
Belajar OOP (Akses Modifier) atau hak akses