Understanding Abstract Classes and Traits in Scala | CodeSignal Learn