Skip to content
Scala

케이스 클래스

equals/hashCode/toString이 자동 생성되는 불변 데이터 클래스.

#case-class#data#immutable

Code

scala
case class Point(x: Double, y: Double)

val p1 = Point(1.0, 2.0)
val p2 = Point(1.0, 2.0)

// Auto-generated equality
p1 == p2  // true

// Auto-generated copy with changes
val p3 = p1.copy(y = 5.0)  // Point(1.0, 5.0)

// Destructure in pattern matching
p1 match {
  case Point(x, y) => s"($x, $y)"
}