Ad space (banner)
Lesson 12 / 20

case class

This lesson covers case class, Scala's convenient way of defining a class.

On top of an ordinary class, a case class automatically adds value comparison (==), a readable string form (toString), a copy facility, and more — which makes it ideal for representing data.

The sample code defines case class Point(x: Double, y: Double) and compares two Point instances with ==. Where an ordinary class would find two different references unequal, a case class compares the values inside.

A common early stumble is the difference between an ordinary class and a case class. "Use a case class when you want to represent the data itself, and a class when behaviour is the point" makes the choice easier.

In professional work, case classes are used heavily to represent containers of data — API response bodies, bundles of configuration values, and the like.

๐Ÿ“– Reference code
โœ๏ธ Your code
Type your code, then press "Run"

๐Ÿงช This site can't compile or run Scala directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ€” nothing is sent anywhere).

Ad space (banner)
Ad space (in-article)