Kali ini saya akan share tentang salah satu dasar dari Bahasa Pemrogaraman Java, yang mana materi dasar ini akan selalu kita pakai saat membuat program entah itu sekala kecil maupun sekala besar. Materi yang akan kita bahas kali ini adalah Access Modifier.
Apa Fungsi dari Access Modifier dalam java ??? Fungsi Access Modifier dalam java adalah sebagai pengatur hak akses untuk mengakses suatu Class,Attribut,Method,dan bagian dari program java. Dalam Bahasa Pemrograman Java ada 4 tipe Access Modifier yang sering digunakan, 4 tipe itu yaitu Default,public,private,protected. Kita akan membahas satu-satu dari 4 tipe Access Modifier yang tadi telah kita sebutkan.
- Default
//Access Modifier pada Class
class Mahasiswa {
//Access Modifier pada Attribut
int Nim;
String Nama;
//Access Modifier pada Method
void setNama(String nama){
Nama=nama;
}
}
- public
//Access Modifier public pada Class
public class Mahasiswa {
//Access Modifier public pada Attribut
public int Nim;
public String Nama;
//Access Modifier public pada Method
public void setNama(String nama){
Nama=nama;
}
}
- protected
public class Mahasiswa {
//Access Modifier protected pada Attribut
protected int Nim;
protected String Nama;
//Access Modifier protected pada Method
protected void setNama(String nama){
Nama=nama;
}
}
- private
public class Mahasiswa {
//Access Modifier private pada Attribut
private int Nim;
private String Nama;
//Access Modifier private pada Method
private void setNama(String nama){
Nama=nama;
}
}
Setelah kita mengetahui bagaimana membuat Access Modifier dan fungsi-fungsi dari 4 tipe Access Modifier, sekarang kita akan belajar bagaimana penerapannya dalam sebuah program sederhana. Penjelasannya akan saya taruh dalam komentar di program (tanda // atau /* ........ */).
public class Mahasiswa {
public int Nim;
protected String Nama;
private String Jurusan;
/*membuat method setter dan getter dari attribut
* yang mana memiliki acces modifier yang berbeda-beda*/
private int getNim() {
return Nim;
}
public void setNim(int nim) {
Nim = nim;
}
public String getNama() {
return Nama;
}
public void setNama(String nama) {
Nama = nama;
}
protected String getJurusan() {
return Jurusan;
}
public void setJurusan(String jurusan) {
Jurusan = jurusan;
}
/* Membuat method Tampil dengan Access Modifier Default.
* pada method ini, kita akan membuktikan hak akses dari setiap tipe access modifier
*/
void Tampil(){
//memanggil method getNim() yang memiliki tipe access modifier privete
System.out.println(getNim());
//memanggil method getNama() yang memiliki tipe access modifier public
System.out.println(getNama());
//memanggil method getJurusan() yang memiliki tipe access modifier protected
System.out.println(getJurusan());
}
public static void main(String[]args){
//membuat object dari class Mahasiswa
Mahasiswa mhs1 = new Mahasiswa();
//mengakses method setter yang memiliki tipe public
mhs1.setNama("Arif");
mhs1.setNim(11201160);
mhs1.setJurusan("Teknik Informatika");
//mengakses method Tampil() yang memiliki tipe Default
mhs1.Tampil();
}
}
Dari program diatas menjelaskan bahwa semua tipe Access Modifier dapat diakses dalam satu class. Untuk melihat perbedaan dari tipe-tipe Acces Modifier, kita akan membuat class baru dalam satu package yang akan mengakses Attribut dan Method dari class Mahasiswa yang tadi telah kita buat.
public class Test {
public static void main(String[] args) {
//membuat object dari class Mahasiswa
Mahasiswa mhs2 = new Mahasiswa();
//memanggil attribut Nim dengan tipe public
mhs2.Nim=11201160;
//memanggil attribut Nama dengan tipe protected
mhs2.Nama="Arif Kurniawan";
/* ketikkan mhs2.Jurusan="Teknik Informatika";
* jika anda mengetikkan script diatas maka akan terjadi error
* karena tipe private hanya bisa diakses oleh class yang sama
*/
//memanggil method Tampil()
mhs2.Tampil();
}
}
Pada class Test() terlihat bahwa hanya tipe private yang tidak bisa di akses oleh class lainnya. Untuk lebih mengetahui perbedaan antara tipe default,public dan protected, anda bisa mencoba membuat class dengan beda package.