Penjelasan Getters dan Setter di Java

Getter dan setter digunakan untuk melindungi data Anda, terutama saat membuat kelas.

Untuk setiap variabel instance, metode pengambil mengembalikan nilainya sementara metode penyetel menetapkan atau memperbarui nilainya. Mengingat ini, getter dan setter juga dikenal sebagai accesor dan mutator , masing-masing.

Menurut konvensi, getter memulai dengan kata "get" dan setter dengan kata "set", diikuti dengan nama variabel. Dalam kedua kasus, huruf pertama dari nama variabel dikapitalisasi:

public class Vehicle { private String color; // Getter public String getColor() { return color; } // Setter public void setColor(String c) { this.color = c; } }

Metode pengambil mengembalikan nilai atribut. Metode penyetel mengambil parameter dan menugaskannya ke atribut.

Setelah pengambil dan penyetel telah ditentukan, kami menggunakannya di utama kami:

public static void main(String[] args) { Vehicle v1 = new Vehicle(); v1.setColor("Red"); System.out.println(v1.getColor()); } // Outputs "Red"

Getters dan setter memungkinkan kontrol atas nilai. Anda dapat memvalidasi nilai yang diberikan di penyetel sebelum benar-benar menyetel nilai.

Mengapa menggunakan getter dan setter?

Getters dan setter memungkinkan Anda untuk mengontrol bagaimana variabel penting diakses dan diperbarui dalam kode Anda. Misalnya, pertimbangkan metode penyetel ini:

public void setNumber(int number) { if (number  10) { throw new IllegalArgumentException(); } this.number = num; }

Dengan menggunakan setNumbermetode ini, Anda dapat memastikan nilai numberselalu antara 1 dan 10. Ini jauh lebih baik daripada memperbarui numbervariabel secara langsung:

obj.number = 13;

Jika Anda memperbarui numbersecara langsung, kemungkinan Anda akan menyebabkan efek samping yang tidak diinginkan di tempat lain dalam kode Anda. Di sini, menyetel numberke 13 melanggar batasan 1 hingga 10 yang ingin kami buat.

Membuat numbervariabel privat dan menggunakan setNumbermetode ini akan mencegah hal ini terjadi.

Di sisi lain, satu-satunya cara untuk membaca nilai numberadalah dengan menggunakan metode pengambil:

public int getNumber() { return this.number; }