Mengenal Getter and Setter pada Java

Artikel berikut membahas mengenai Getter dan Setter pada java
Mengenal Getter and Setter
Mengenal Getter and Setter

Apa itu getter pada Java?

Getters digunakan untuk mengakses data dari properti private, untuk menggunakan nya kita perlu melakukan modifikasi agar dapat mengakses data tersebut.

Contoh : 

public class ContohGetter {

    public static void main(String[] args) {
        Persegi square = new Persegi();
        // square.sisi;
        System.out.println(square.getSisi());
    }
}

class Persegi {

    private double sisi = 10;// default value for sisi

    public double getSisi() {
        return this.sisi;
    }
}

Keterangan : 
pada contoh diatas kita tidak dapat mengakses secara langsung variabel sisi karena variabel tersebut memiliki modifier private oleh karena itu kita perlu membuat getter agar variabel tersbut dapat diakses.

Contoh Lain :
class LuasPersegi {
    public static void main(String[] args) {
        Persegi square = new Persegi();
        System.out.println("Sisi = " + square.getSisi());
        System.out.println("Keliling = " + square.getKeliling());
        System.out.println("Luas = " + square.getLuas());
    }
}

class Persegi{
    private double sisi = 10;
    public double getSisi() {
        return this.sisi;
    }

    double getKeliling() {
        return this.sisi * 4;
    }

    double getLuas() {
        return this.sisi * this.sisi;

    }

}

Output :
run:
Sisi = 10.0
Keliling = 40.0
Luas = 100.0
BUILD SUCCESSFUL (total time: 0 seconds)

Apa itu Setter pada Java?

Setter digunakan untuk memodifikasi data, yaitu melakukan validasi, sebelum data tersebut di set atau di terapkan.
Contoh :

class ContohIdentitas {

    private String nama;
    int umur;

    public String getName() {
        return this.nama;
    }

    int getAge() {
        return this.umur;
    }

    void setName(String namaBaru) {
        this.nama = namaBaru;
    }

    void setAge(int umurBaru) {
        if (umurBaru < 0) {
            this.umur = 0;
        } else {
            this.umur = umurBaru;
        }

    }

    void printData() {
        System.out.println("Name: " + nama);
        System.out.println("Age: " + umur);
    }
}

public class ContohSetter {

    public static void main(String[] args) {
        ContohIdentitas orang = new ContohIdentitas();
        orang.setName("Emily");
        orang.setAge(5);
        // orang.setAge(-);
        orang.printData();
    }
}
Keterangan :
pada contoh diatas dilakukan validasi variabel umur terlihat validasi dilakukan pada method setAge yaitu jika umur baru kita setting menjadi negatif maka variabel umur akan diubah menjadi 0 (nol) sebaliknya jika kita isi nilai positif maka nilai umur akan diisi sesuai dengan inputan umur baru.
Output :
run:
Name: Emily
Age: 5
BUILD SUCCESSFUL (total time: 0 seconds)

Kenapa menggunakan Getter dan Setter?

Jawaban singkat :
Because private members can have validation before modification (setter) and controlled access (getter).

Berdasarkan pernyataan diatas getter dan setter berguna untuk melakukan validasi sebelum dilakukan modifikasi dan diakses