Study
Kotlin

Data Class di Kotlin

Penjelasan

Data class adalah fitur khas Kotlin untuk class yang tujuan utamanya cuma menyimpan data (mis. representasi row database atau response API) — dengan menambahkan keyword data di depan class, Kotlin otomatis meng-generate method equals() (bandingkan isi, bukan referensi), hashCode(), toString() (format rapi), dan copy() (bikin salinan dengan sebagian field diubah), tanpa kamu perlu menulisnya manual.

Contoh Konsep

data class Siswa(val nama: String, val umur: Int)

fun main() {
    val siswa1 = Siswa("Budi", 20)
    val siswa2 = Siswa("Budi", 20)

    println(siswa1 == siswa2) // true, equals() otomatis bandingkan isi
    println(siswa1) // Siswa(nama=Budi, umur=20), toString() otomatis rapi

    val siswa3 = siswa1.copy(umur = 21) // salin, cuma umur yang beda
    println(siswa3) // Siswa(nama=Budi, umur=21)
}

Praktikum

Buat data class Produk(val nama: String, val harga: Int). Buat satu instance-nya, lalu pakai copy() untuk membuat versi baru dengan harga berbeda (nama tetap sama). Tampilkan kedua instance dengan println.

Editor Latihan

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

Tips

Pakai data class HANYA untuk class yang murni menyimpan data — kalau class-mu punya banyak logika bisnis kompleks di dalamnya, class biasa lebih tepat, karena data class dirancang khusus seputar kesetaraan data (equals/hashCode/toString/copy).