override
on methods that implement abstract members.
Nonetheless, it is a good idea to mark such methods with override
to be notified
by the compiler when the override relationship gets broken (by a subsequent refactoring, for example).
Before:
trait Base { def fun(): Int } class Impl extends Base { def fun(): Int = 42 }
trait Base { def fun(): Int } class Impl extends Base { override def fun(): Int = 42 }