Scala中辅助构造函数的用例是什么?

例如,这是怎么回事:

class Cat(name: String, val age: Int) {
  def this() = this("Garfield", 20)
}

val someCat = new Cat
someCat.age
res0: Int = 20

不同于:

class Cat(name: String = "Garfield", val age: Int = 20)
val someCat = new Cat
someCat.age
res0: Int = 20

Note: I have seen answers to other questions(e.g here) that discuss the differences between Java & Scala in the implementation for auxiliary constructors. But I am mostly trying to understand why do we need them in Scala, in the first place.