동적 디스패치를 쓰겠다는 신호를 타입에 명시합니다.
trait object
트레이트 객체 디스패치 흐름
트레이트 객체는 컴파일 시점에 구체 타입을 몰라도 같은 트레이트 메서드를 호출하게 해 주는 동적 다형성입니다.
트레이트 객체로 쓰려면 메서드 시그니처가 객체 안전 조건을 만족해야 합니다.
런타임 간접 호출과 일부 최적화 제한을 받아들이는 대신 이질적인 컬렉션을 얻습니다.
타입이 고정되어 있으면 제네릭과 정적 디스패치가 더 단순할 수 있습니다.