Bila membuat kelas Java, biasakan attributnya diset dengan access level selain public, misalnya private atau protected. Alasannya kenapa? Secara pasti saya tidak tau, tapi programmer-programmer senior menyarankan demikian. Katanya sih salah satunya buat alasan security.
Okeh, deh, kita percaya saja sama para senior ini. Kita gunakan access level private atau protected untuk atribut. Nah, untuk mengakses atribut ini dibuatlah method getter dan setter. Method Setter digunakan untuk mengeset nilai atribut sedangkan method Getter digunakan untuk mengambil nilai atribut. Kedua method ini (Getter dan Setter) diset dengan acces level public.
Kalau nanti kita belajar JavaServer Faces (JSF) ataupun hibernate dan Java Persistence API (JPA), kita bakal sering menggunakan method getter dan setter ini. Di JSF getter dan setter adalah keharusan untuk mengakses atribut pada kelas backing bean. Demikian pula pada hibernate/JPA, kelas entity menggunakan method getter dan setter ini. Karena itu kuasai method getter dan setter ini, karena ini penting.
Ini contoh kelasnya, kelas ContohKelasPakaiGetterSetter:
/** @Author Firman Hidayat **/ public class ContohKelasPakaiGetterSetter { private String nim; private String nama; protected String alamat; protected String jurusan; public String getNim() { return nim; } public void setNim(String nim) { this.nim = nim; } public String getNama() { return nama; } public void setNama(String nama) { this.nama = nama; } public String getAlamat() { return alamat; } public void setAlamat(String alamat) { this.alamat = alamat; } public String getJurusan() { return jurusan; } public void setJurusan(String jurusan) { this.jurusan = jurusan; } }
Ini contoh kelas yang memanggil kelas ContohKelasPakaiGetterSetter di atas:
/** @Author Firman Hidayat **/ public class KelasPemanggilGetterSetter { public static void main(String[] buaya) { // Mengeset nilai atribut objek-objek instance kelas // ContohKelasPakaiGetterSetter ContohKelasPakaiGetterSetter objekKelas_1 = new ContohKelasPakaiGetterSetter(); objekKelas_1.setNim("AAA111"); objekKelas_1.setNama("PAK BEYE"); objekKelas_1.setAlamat("Cigondewah"); objekKelas_1.setJurusan("Ilmu Palak"); ContohKelasPakaiGetterSetter objekKelas_2 = new ContohKelasPakaiGetterSetter(); objekKelas_2.setNim("BBB222"); objekKelas_2.setNama("ANI YUDO"); objekKelas_2.setAlamat("Cikawao"); objekKelas_2.setJurusan("Ilmu Pertanian"); // Mengambil nilai atribut dari objek-objek instanc kelas // ContohKelasPakaiGetterSetter String nim_1 = objekKelas_1.getNim(); String nama_1 = objekKelas_1.getNama(); String alamat_1 = objekKelas_1.getAlamat(); String jurusan_1 = objekKelas_1.getJurusan(); String nim_2 = objekKelas_2.getNim(); String nama_2 = objekKelas_2.getNama(); String alamat_2 = objekKelas_2.getAlamat(); String jurusan_2 = objekKelas_2.getJurusan(); // Tampilkan output nilai atribut setiap objek System.out.println("NIM : " + nim_1 + "\tNAMA : " + nama_1 + "\tALAMAT : " + alamat_1 + "\tJURUSAN : " + jurusan_1); System.out.println("NIM : " + nim_2 + "\tNAMA : " + nama_2 + "\tALAMAT : " + alamat_2 + "\tJURUSAN : " + jurusan_2); } }
Bila kelas KelasPemanggilGetterSetter ini dieksekusi, menghasilkan output seperti ini:
NIM : AAA111 NAMA : PAK BEYE ALAMAT : Cigondewah JURUSAN : Ilmu Palak NIM : BBB222 NAMA : ANI YUDO ALAMAT : Cikawao JURUSAN : Ilmu Pertanian
Coba kita tinjau kelas ContohKelasPakaiGetterSetter. Dalam kelas ini terdapat tiga buah atribut:
nim –> akses level: private
nama –> akses level: private
alamat –> akses level: protected
Jurusan –> akses level: protected
Kemudian terdapat method getter dan setter yang akses levelnya diset public.
public String getNim() —> ngambil nilai atribut nim
public String getNama() —> ngambil nilai atribut nama
public String getAlamat() —> ngambil nilai atribut alamat
public String getJurusan() —> ngambil nilai atribut Jurusan
public void setNim(String nim) —> mengeset nilai atribut nim
public void setNama(String nama) —> mengeset nilai atribut nama
public void setAlamat(String alamat) —> mengeset nilai atribut alamat
public void setJurusan(String jurusan) —> mengeset nilai atribut Jurusan
Sekarang kita perhatikan kelas KelasPemanggilGetterSetter. Kelas ini tidak secara langsung mengakses atribut pada kelas ContohKelasPakaiGetterSetter. Untuk mengaksesnya digunakan method getter dan setter yang sudah disediakan di kelas ContohKelasPakaiGetterSetter. Ini contohnya:
ContohKelasPakaiGetterSetter objekKelas_1 = new ContohKelasPakaiGetterSetter();
objekKelas_1.setNim(“AAA111”);
objekKelas_1.setNama(“PAK BEYE”);
objekKelas_1.setAlamat(“Cigondewah”);
objekKelas_1.setJurusan(“Ilmu Palak”);
Untuk mengambil nilai atribut digunakan method getter:
String nim_1 = objekKelas_1.getNim();
String nama_1 = objekKelas_1.getNama();
String alamat_1 = objekKelas_1.getAlamat();
String jurusan_1 = objekKelas_1.getJurusan();
[…] pernah diutarakan pada artikel sebelumnya (Getter dan Setter pada Kelas Java), sebaiknya atribut sebuah kelas menggunakan akses level selain public. Untuk itu, di sini kita […]
LikeLike
[…] pernah diutarakan pada artikel sebelumnya (Getter dan Setter pada Kelas Java), sebaiknya atribut sebuah kelas menggunakan akses level selain public. Untuk itu, di sini kita […]
LikeLike
makasih banyak bang penjelasannya sangat membantu untuk belajar java
LikeLike
haloo boleh gabung
LikeLike
kalo cuma main di xml aja gak bisa ya?
LikeLike
Maksudnya main di xml tuh gimana ya? Bagian apanya yang dimainkan di xml ya?
LikeLike
ajibb banget nih ilmunyaaa
LikeLike
saya suka artikelnya
LikeLike
Mas boleh minta contoh program pake dreamweaver?
LikeLike
Saya gak pernah pakai dreamweaver, Bu.
LikeLike
terima kasih penejalasannya mas, sekarang saya sudah mengerti maksud getter dan setter.
LikeLike
keren kang 😀
tapi saya masih bingung euy sama java
kalo di php kan tinggal include aja buat manggil file yang berbeda, kalo di java bagaimana ya?
LikeLike
Kalau di java pakai import.
LikeLike
wow,, thank you untuk iinformasinya 🙂
LikeLike
thank you bro
LikeLike