Study
Kotlin

Property & Encapsulation di Kotlin

Penjelasan

Setiap property (field) di Kotlin otomatis punya getter (dan setter kalau pakai var) di baliknya, walau kamu tidak menulisnya — mirip C#, tapi lebih implisit lagi. Kalau butuh validasi khusus, kamu bisa menimpa setter default-nya secara manual, sambil tetap diakses seperti property biasa dari luar.

Contoh Konsep

class Akun {
    var saldo: Double = 0.0
        set(value) {
            if (value >= 0) { // validasi, tidak boleh negatif
                field = value // "field" merujuk ke penyimpanan asli di baliknya
            }
        }
}

fun main() {
    val akunku = Akun()
    akunku.saldo = 50000.0 // seperti akses field biasa, padahal memanggil setter
    println(akunku.saldo) // 50000.0
}

Praktikum

Buat class Siswa dengan property var nama: String = "" yang setter-nya menolak nilai kosong (string kosong, biarkan nilai lama kalau ditolak). Buat object-nya, set nama dengan nama kamu, lalu tampilkan lewat println.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau property-mu tidak butuh validasi khusus, JANGAN tulis get()/set() sama sekali — biarkan Kotlin memakai implementasi default-nya, yang sudah otomatis benar dan lebih ringkas dibanding menulis boilerplate getter/setter seperti di Java.