Dapatkan dan atur metode di Java
Operasi
Metode getter dan setter, atau metode "akses", menyediakan akses ke properti suatu objek. Metode get mengembalikan nilai properti suatu objek. Metode get memiliki tipe kembalinya yang terkait dengan jenis variabel anggota terkait. Metode get biasanya tidak mengambil parameter apa pun. Satu set method memiliki tipe return "void" dan mengambil parameter dari tipe yang tepat untuk ditetapkan ke variabel anggota yang terkait.
Konvensi
Metode akses digunakan oleh objek eksternal dan oleh karena itu mereka dinyatakan sebagai metode "publik" (terlihat secara eksternal). Konvensi yang diterima adalah untuk mendapatkan nama dan mengatur metode untuk variabel anggota terkait (misalnya, "getName" dan "setName", terkait dengan "nama" variabel), dengan awalan "get" atau "set". Tidak semua variabel anggota dapat memiliki metode akses terkait. Metode-metode ini ditulis hanya untuk nilai-nilai yang harus diakses secara eksternal.
Tujuan
Membatasi akses ke variabel anggota suatu objek adalah bagian dari praktik yang dikenal sebagai "enkapsulasi." Enkapsulasi membagi-bagi komponen suatu objek, menyembunyikan implementasi (kerja internal) dari objek yang tidak perlu terlihat secara eksternal, dan melindungi data internal dari modifikasi tanpa izin. Metode akses dapat melakukan perhitungan, validasi atau tindakan lain yang akan dihindari dengan membuat variabel anggota dapat diakses secara langsung.
Manfaat
Perlindungan variabel anggota yang menggunakan metode akses memungkinkan pemrogram untuk dengan mudah memodifikasi kode internal tanpa mengubah cara kelas digunakan oleh orang lain. Ini menghindari kebutuhan untuk membuat perubahan kode melalui aplikasi ketika kelas diubah. Para getter dapat melakukan perhitungan dan tindakan yang diperlukan untuk menghasilkan nilai, meminimalkan jumlah kode eksternal yang diperlukan untuk menggunakan nilai. Setter dapat melakukan validasi dan mencegah kesalahan yang disebabkan oleh variabel anggota yang menetapkan nilai tidak valid.
Pertimbangan
Tambahkan metode akses ke kelas harus dilakukan secara konservatif. Hanya variabel anggota yang membutuhkan akses eksternal harus memiliki metode akses. Properti yang hanya perlu dimodifikasi oleh operasi internal tidak perlu setter. Properti yang tidak memiliki relevansi eksternal seharusnya tidak mendapatkan getter. Praktik ini meminimalkan pemaparan implementasi suatu objek, dan melindungi properti dari modifikasi yang dapat menyebabkan kesalahan eksekusi. Semakin sedikit metode publik, semakin mudah untuk mempertahankan kode.