An interface defines a set of methods that the implementing class must implement. When a trait is used the implementations of the methods come along too, which doesn't happen in an interface.