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.
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).