Kotlin Classes

Kotlin classes are concise but expressive. Data classes and sealed types are especially useful for model-heavy applications.

Classes

class User(val name: String, var active: Boolean)

Data classes

data class Point(val x: Int, val y: Int)

Sealed types

Sealed classes and interfaces are useful when you want a closed set of possibilities and safer pattern handling.

Interfaces

Interfaces define behavior contracts without forcing a single inheritance tree.

Practice

  1. Create one data class for a domain object.
  2. Model one finite result set with a sealed type.
  3. Write one note about why data classes are useful for records.