트레이트 좋음

근데 쓰는곳을 못봄 프레임워크제작에 쓰였을듯


------------------
단일 상속 모델에서는 Person 을 인터페이스로 선언하고 Employee 는 Person 을 상속받고 getAge() 를 구현해야 하며 Teacher 클래스는 Employee 를 상속받아서 사용하면 됩니다.

하지만 Person 을 상속받지만 Employee 는 아닌 Student 클래스를 만들경우 또 getAge() 를 구현해야 하므로 같은 레벨의 클래스마다 중복된 코드가 발생하게 됩니다.


하지만 트레이트가 있으므로  여러 클래스에 공통적으로 필요한 특성이 있다면 트레이트로 구현하고 이를 가져다가 쓰면 되므로 소스의 재사용성이 높아지고 소스가 간단해 집니다. 

- dc official App