When you create a case class, the compiler creates a corresponding companion object with a few of the case class goodies: an apply factory method matching the p
apply
Welcome to Scala version 2.8.0.RC3 (Java HotSpot(TM) Client VM, Java 1.6.0_20). scala> case class CC3(i: Int, b: Boolean, s: String) defined class CC3 scala> CC3 res0: CC3.type = scala> CC3.apply(1, true, "boo!") res1: CC3 = CC3(1,true,boo!) scala> CC3(1, true, "boo!") res2: CC3 = CC3(1,true,boo!)