Traits

Traits offer a convenient way to modularize functionality, and to combine multiple components. They are an intermediate between Java's interfaces and abstract classes (in fact, the Scala compiler generates interfaces and classes for each trait).

This article by Chris Hodapp provides a great overview of traits in Scala.

Test your knowledge on Traits before advancing to Pattern Matching.