Sobes.tech
Junior — Middle

Programlama dilinde data class ile standart sınıf arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin (Android) dilinde, data class (veri sınıfı), veri saklamak için tasarlanmış özel bir sınıftır. Normal bir sınıfa kıyasla temel fark, derleyicinin otomatik olarak birkaç kullanışlı metod üretmesidir:

  • equals() ve hashCode() nesneleri içeriklerine göre karşılaştırmak için,
  • bilgilendirici bir çıktı sağlayan toString(),
  • alanları değiştirilmiş kopyalar oluşturmak için copy(),
  • destrüksiyon için (component1(), component2(), vb.) metodlar.

Normal bir sınıf bu metodlara varsayılan olarak sahip değildir, ihtiyaç duyulursa elle yazılmaları gerekir.

Örnek data class:

data class User(val name: String, val age: Int)

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)

Bu nedenle, data class, nesnelerin basitliği ve doğru karşılaştırılması önemli olan veri modelleri için uygundur.