Study
Scala

Case Class di Scala

Penjelasan

Case class adalah fitur khas Scala untuk membuat class yang fokus menyimpan data (mirip data class di Kotlin). Cukup tambahkan kata kunci `case` di depan `class`, dan Scala otomatis membuatkan: `toString()` yang deskriptif, `equals()`/`hashCode()` berdasarkan isi field (bukan referensi), method `copy()` untuk membuat salinan dengan sebagian field diubah, dan constructor tanpa perlu `new`.

Contoh Konsep

case class Produk(nama: String, harga: Double)

val p1 = Produk("Sepatu", 200000)   // tanpa 'new'
println(p1)                          // Produk(Sepatu,200000.0), toString otomatis

val p2 = Produk("Sepatu", 200000)
println(p1 == p2)                    // true, dibandingkan berdasarkan ISI, bukan referensi

val p3 = p1.copy(harga = 180000)     // salinan dengan harga diubah, sisanya sama
println(p3)                          // Produk(Sepatu,180000.0)

Praktikum

Buat case class Siswa(nama: String, nilai: Int). Buat 2 instance dengan nilai sama, bandingkan dengan ==, lalu buat salinan salah satunya dengan nilai berbeda memakai copy().

Editor Latihan

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

Tips

Case class adalah pilihan default yang bagus untuk model data di Scala (mirip DTO) — hampir selalu lebih baik daripada class biasa kalau tujuannya cuma membungkus data.