Trait
= Trait
A reusable type and collection of members that can be composed into a <class in object-oriented programming>. In <Scala>, a <trait> can declare required members and provide concrete implementations. Several <traits> can contribute <mixin> behavior to one class, subject to linearization and member-conflict rules.