Scala's Abstract Classes, Traits, and Companion Objects | CodeSignal Learn