Kelas Data
Kelas ringkas untuk menyimpan data.
Kelas Data adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.
Apa Itu Kelas Data?
Kelas data adalah kelas yang dibuat untuk menyimpan data. Kotlin secara otomatis menghasilkan metode yang berguna untuknya.
Anda mendeklarasikannya dengan menulis data sebelum class.
Mendeklarasikan Kelas Data
Kelas data memerlukan setidaknya satu parameter dalam konstruktor utamanya, dan setiap parameter harus ditandai dengan val atau var.
Berikut adalah User yang menyimpan nama dan usia.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
println(u.name)
}toString yang Mudah Dibaca
Kelas biasa mencetak alamat yang sulit dipahami. Kelas data menghasilkan toString yang jelas dan menampilkan setiap properti.
Hal ini membuat proses penelusuran kesalahan jauh lebih mudah.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
println(u)
}Membandingkan dengan equals
Kelas data membandingkan berdasarkan isi, bukan identitas. Dua objek dengan nilai properti yang sama dianggap sama dengan ==.
Kelas biasa akan menganggap keduanya berbeda.
data class Point(val x: Int, val y: Int)
fun main() {
val a = Point(1, 2)
val b = Point(1, 2)
println(a == b)
}Fungsi copy
Fungsi copy yang dihasilkan membuat objek baru berdasarkan objek yang sudah ada. Anda dapat mengubah hanya properti yang Anda tentukan.
Objek asli tetap tidak berubah.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
val older = u.copy(age = 31)
println(older)
}Dekonstruksi
Kelas data mendukung dekonstruksi: membongkar properti menjadi variabel terpisah dalam satu baris.
Urutannya mengikuti konstruktor.
data class User(val name: String, val age: Int)
fun main() {
val (name, age) = User("Sam", 25)
println(name + " " + age)
}Nilai Default Juga Berlaku
Seperti konstruktor lainnya, parameter kelas data dapat memiliki nilai default.
Dengan begitu, pemanggil dapat menghilangkan bidang yang tidak diperlukan.
data class User(val name: String, val active: Boolean = true)
fun main() {
val u = User("Lee")
println(u)
}hashCode untuk Koleksi
Kelas data juga menghasilkan hashCode, sehingga dapat digunakan dengan benar sebagai kunci dalam Set atau Map.
Objek yang sama menghasilkan hash yang sama, sehingga duplikat dapat terdeteksi.
data class Point(val x: Int, val y: Int)
fun main() {
val set = setOf(Point(1, 1), Point(1, 1))
println(set.size)
}Kapan Menggunakan Kelas Data
Gunakan kelas data ketika objek terutama membawa nilai, bukan perilaku yang kompleks.
- Respons API
- Keadaan UI di Android
- Catatan basis data
Untuk objek yang kaya akan logika, kelas biasa lebih sesuai.
Kelas Data Menghemat Pekerjaan
Satu kata kunci data memberi Anda toString, equals, hashCode, copy, dan dukungan dekonstruksi.
Itu berarti banyak kode pendukung yang tidak perlu Anda tulis atau pelihara secara manual.
Kelas Data vs Kelas Biasa
Kelas biasa membandingkan berdasarkan identitas dan mencetak referensi memori. Kelas data membandingkan berdasarkan isi dan mencetak nilainya.
Kata kunci data mengaktifkan semua perilaku yang dihasilkan tersebut.
class Plain(val x: Int)
data class Smart(val x: Int)
fun main() {
println(Plain(1) == Plain(1))
println(Smart(1) == Smart(1))
}Pemeriksaan Singkat
Uji pemahaman Anda tentang kelas data.
Ringkasan
Anda telah mempelajari bahwa kelas data secara otomatis menghasilkan toString, equals, hashCode, copy, dan dukungan dekonstruksi.
Kelas data ideal untuk objek pembawa nilai seperti keadaan UI dan model API. Kini Anda telah mempelajari fungsi, kelas, konstruktor, dan kelas data di Kotlin.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Kelas Data” gratis?
Ya — teks lengkap “Kelas Data” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Kelas Data”?
Kelas ringkas untuk menyimpan data. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Kelas Data” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.