Saat membuat, mengatur properties dan class methods, seorang programmer java ingin mengimplementasikan beberapa macam larangan untuk mengakses data. Sebagai contoh, jika beberapa atribut hanya dapat diubah dengan method tertentu untuk menyembunyikannya dari object lain pada class. Di JAVA, implementasi tersebut disebut dengan access modifiers.
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.
1. Akses Default (Package Accessibility)
Tipe ini mensyaratkan bahwa hanya class dalam package yang sama yang memiliki hak akses terhadap variabel dan methods dalam class. Tidak terdapat keyword pada tipe ini. Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
int name;
//akses dasar terhadap method
String getName(){
return name;
}
}
Pada contoh diatas, variabel nama dan method getName() dapat diakses dari object lain selama object tersebut berada pada package yang sama dengan letak dari file StudentRecord.
2. Akses Public
Tipe ini mengizinkan seluruh class member untuk diakses baik dari dalam dan luar class. Object apapun yang memiliki interaksi pada class memiliki akses penuh terhadap member dari tipe ini. Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
public int name;
//akses dasar terhadap metode
public String getName(){
return name;
}
}
Dalam contoh ini, variabel name dan method getName() dapat diakses dari object lain.
3. Akses Protected
Tipe ini hanya mengizinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass. Sebagai contoh :
public class StudentRecord
{
//akses pada variabel
protected int name;
//akses pada metode
protected String getName(){
return name;
}
}
Pada contoh diatas, variabel name dan method getName() hanya dapat diakses oleh method internal class dan subclass dari class StudentRecord.
4. Akses Private
Tipe ini mengizinkan akses class hanya dapat diakses oleh class dimana tipe ini dibuat. Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
private int name;
//akses dasar terhadap metode
private String getName(){
return name;
}
}
Pada contoh di atas, variabel name dan method getName() hanya dapat diakses oleh method internal class tersebut.
Keterangan :
Instance variable dari class secara default akan bertipe private sehingga class tersebut hanya akan menyediakan accessor dan mutator methods terhadap variabel ini.
Semoga bermanfaat.. Good Luck..
Referensi :
Modul belajar JENI
Komentar
Posting Komentar