Sobes.tech
Junior — Middle

Wat is het verschil tussen een data class en een standaardklasse in een programmeertaal?

sobes.tech AI

Antwoord van AI

In Kotlin (Android) is een data class een speciale klasse bedoeld voor het opslaan van gegevens. Het belangrijkste verschil met een gewone klasse is dat de compiler automatisch verschillende nuttige methoden genereert voor de data class:

  • equals() en hashCode() voor het vergelijken van objecten op inhoud,
  • toString() met informatieve output,
  • copy() voor het maken van kopieën met gewijzigde velden,
  • componenten (component1(), component2(), etc.) voor destructurering.

Een gewone klasse heeft deze methoden standaard niet, ze moeten handmatig worden geschreven indien nodig.

Voorbeeld van een 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)

Dus, de data class is handig voor datamodellen waar eenvoud en correcte vergelijking van objecten belangrijk zijn.