author Ahmad Muhardian

Belajar Java OOP: Menggunakan Method Setter dan Getter untuk Enkapsulasi


Java Oop Setter Getter

Method setter dan getter adalah dua method yang tugasnya untuk mengambil dan mengisi data ke dalam objek.

Dalam OOP kita sering mendengar istilah encapsulation (pembungkusan), di mana data dibungkus dengan modifier private agar tidak bisa diakses secara langsung dari luar class.

Objek dengan data private

Nah method setter dan getter inilah yang akan membantu kita mengakses data tersebut.

Mengapa harus dibuat seperti ini?

Ada beberapa alasannya:

  1. Untuk meningkatkan keamanan data;
  2. Agar lebih mudah dalam mengontrol atribut dan dan method;
  3. Class bisa kita buat menjadi read-only dan write-only;
  4. dan fleksibel: programmer dapat mengganti sebagian dari kode tanpa harus takut berdampak pada kode yang lain.

Cara Membuat Method Setter dan Getter

Cara membuat method setter dan getter sama saja seperti membuat method biasa.

Contoh:

class User {
    private String username;
    private String password;

    // ini method setter
    public void setUsername(String username){
        this.username = username;
    }

    public void setPassword(String password){
        this.password = password;
    }

    // ini method getter
    public String getUsername(){
        return this.username;
    }

    public String getPassword(){
        return this.password;
    }
}

Method setter dan getter harus diberikan modifier public, karena method ini akan diakses dari luar class.

Perbedaan method setter dengan getter terletak pada nilai kembalian, parameter, dan isi method-nya.

Method setter tidak memiliki nilai kembalian void (kosong). Karena tugasnya hanya untuk mengisi data ke dalam atribut.

Sedangkan method getter memiliki nilai kembalian sesuai dengan tipe data yang akan diambil.

Perbedaan method setter dan getter

Nama method setter dan getter harus diawali dengan set untuk setter dan get untuk getter.

Apa boleh menggunakan bahasa indonesia? misalnya isi untuk setter dan ambil untuk getter.

Boleh-boleh saja, tapi ini tidak dianjurkan. Karena jika kita bekerja dengan tim, tim yang lain akan kesulitan. Apalagi dalam tim tersebut menggunakan bahasa inggris.

Menggunakan Method Setter dan Getter

Setelah kita membuat method setter dan getter, kita bisa mengakses atau menggunakannya seperti method biasa.

Contoh:

// Kode ini ditulis di dalam method main

// membuat objek dari class User
User dian = new User();

// menggunakan method setter
dian.setUsername("dian");
dian.setPassword("kopiJava");

// menggunakan method getter
System.out.println("Username: " + dian.getUsername());
System.out.println("Password: " + dian.getPassword());  

Hasil output:

Hasil output setter dan getter

Tips Cepat Membuat Method Setter dan Getter di Netbeans

Kita sudah membuat contoh setter dan getter untuk dua atribut data.

Bagaimana kalau ada banyak data? misal ada 10 atribut yang membutuhkan method setter dan getter.

Kita bisa memanfaatkan fitur generator di Netbeans.

Caranya:

Pertama buat dulu atribut data yang akan dibuatkan method setter dan getter seperti ini:

class Book {
    private String title;
    private String author;
    private String price;
    private String isbn;
    private String year;


}

Setelah itu klik kanan, lalu pilih Insert Code… atau tekan tombol Alt+Insert sehingga akan muncul menu seperti ini:

Menu generator setter dan getter

Pilih Setter and Getter untuk masuk ke menu generator Setter dan Getter. Lalu tentukan atribut yang akan dibuatkan method setter dan getter-nya.

Menu generator setter dan getter

Klik Generate untuk membuatnya…

generator setter dan getter

Selesai dalam sekejap…

Generator setter dan getter tidak hanya ada di Netbeans saja. Pada IDE seperti Intellij dan Android Studio juga ada.

Namun mungkin tombol atau menu untuk mengaksesnya berbeda.

Apa Selanjutnya?

Intinya… method setter dan getter bertugas untuk mengakses dan mengisi data ke dalam objek.

Kita akan banyak menemukannya di contoh-contoh kasus tertentu. Seperti dalam pembuatan model data, pembuatan aplikasi android, dll.

Selanjutnya silakan pelajari tentang: Kata kunci this dan super.