We learned about class
in a previous SKB, today we are going to learn about case class
. They serve the same purpose which is to provide a blueprint to create object
s. But case class provides a lot of build-in advantages.
As a start, notice how the case class is being instantiated, and how the fields are being accessed.
Did you notice that we do not need new
to create the instance of the class
?
And did you notice that we do not need a function to access any of the fields?
In Scala, case class
provide build-in things, let's go over them:
new
keyword. Note that class
will not need new
either in Scala 3. To understand how this is done, remember the words apply
and Companion Object
, we are going to come back to it later.case class
, the field are public
( we are going to talk about visibility
later ) by default. So you can access their values without the need to a method that will return it for you.unapply
, Product
and Serialization
for later SKBs.