While Scala case classes are best used to represent Data objects, it can be handy to extend their behavior beyond the standards set in the Scala language.
For example, a “composite getter”, #fullName that combines two constructor parameters, firstName and lastName: