Java Bean (2)

JavaBean sebenarnya hanyalah sebuah class yang hanya terdiri dari beberapa field private dan dengan method setter untuk menset field dari luar class dan getter untuk mendapatkan nilai dari field. Adanya JavaBean memudahkan kita untuk melakukan refactoring karena JavaBean sebenarnya adalah representasi semua objek apapun di dunia ini. Misalnya,

public class MyJavaBean {

   private int myField1 = 0;

   private double mySecondField = 0;

   // getter

   public int getMyField1() {

      return this.myField1;

   }

   public double getMySecondField() {

      return this.mySecondField;

   }

   // setter

   public void setMyField1( int val ) {

      this.myField1 = val;

   }

   public void setMySecondField( double val ) {

      this.mySecondField = val;

   }

}

Ciri utama dari JavaBean adalah method-method-nya yang selalu diawali dengan kata get/set diikuti nama field dengan huruf pertama dari nama field adalah huruf besar. Lihat caraku menulis di contoh di atas. Ada field bernama myField1, maka setter dan getter-nya adalah setMyField1 dan getMyField1.

Nah, sampai di sini tentunya pertanyaannya menjadi begini: Jika field bertipe private, yang artinya tidak bisa diakses dari luar class, kenapa harus ada method getter dan setter yang bertipe public, yang akhirnya class luar bisa memodifikasi lewat dua method ini? Kenapa tidak field-nya saja yang diberi proteksi public? Toh sama saja kan akhirnya?

Pertanyaan dan argumen di atas memang sangat benar. Tapi di sinilah konsep design pattern itu! Dengan membuat field private dengan dua setter/getter public, kita tidak dapat sembarangan mengubah-ubah isi objek dari luar dengan statement namaClass.namaField = 2; tetapi harus melalui sebuah mekanisme yang mudah terlihat. Dengan menjadikan field tersebut public, kita benar-benar kehilangan konsep object oriented-nya (Properti suatu objek hanya dapat diubah melalui method-nya). Dengan mekanisme yang jelas, maka kode program akan lebih terbaca, lebih mudah ditelusuri, dan terkonsep dengan baik. That’s! inti dari sebuah Design Pattern. (*)

Curhat: Sori yah, ngomongnya bikin banyak orang nggak nyambung, soalnya lagi be-te banget.. program TA gw nggak jalan-jalan

Author: Galih Satriaji

Bookaholic, Workaholic. Chubby. That's me!

3 thoughts

  1. Mas maap mas, saya made04 mewakili kelompok 36. maap, kami mau konfirmasi apakah laporan modul 2 kami udah nyampe? maap mas apa memang belum nyampe, soalnya nilainya masih tetap, ato memang cuman segitu nilainya…maap sekali lagi atas pertanyaan kami. atas perhatiannya kami ucapkan terima kasih banyak.

  2. memang cuma segitu (currently):
    karena:
    1. aku tidak pernah ndemo klp36. yang ada cuma, "nanti saja mas, tetep ndak bisa mas" dan aku tidak melihat ada usaha lain setelah itu… jadi tidak ada kabar gimana perkembangannya

    2. aku kecewa dengan dokumenmu baik lappen maupun lappres. tidak bisakah lebih baik dari itu. Apapun klaim-mu, aku kecewa dengan kualitas dokumen seperti itu.

Leave a Reply

Your email address will not be published. Required fields are marked *