Rust

고급 트레이트

9장의 ‘트레이트로 공통된 동작을 정의하기’절에서 트레이트에 대해 처음 다뤘지만, 더 자세한 내용은 다루지 않았습니다. 소유권, 제네릭, 수명 문법을 다룬 뒤에는 고급 트레이트 경계를 더 정확히 구분할 수 있습니다.

연관 타입, 기본 제네릭 타입 매개변수, 연산자 오버로딩이 트레이트 설계에 주는 영향을 확인합니다.

고급 트레이트 흐름

1

연관 타입

연관 타입은 그 중간 정도에 해당합니다.

2

기본 제네릭 타입 매개변수와 연산자 오버로딩

연관 타입은 그 타입이 어떻게 사용되는지 설명하는 이름을 갖습니다. 기본 제네릭 타입 매개변수와 연산자 오버로딩은 호출자가 생략해도 의미가 분명한 기본 타입이 있을 때 연결합니다.

3

모호성 방지를

9장의 ‘트레이트로 공통된 동작을 정의하기’절에서트레이트에 대해 처음 다뤘지만, 더 자세한 내용은 다루지않았습니다.

4

슈퍼트레이트를

이렇게 하면 트레이트가 구현될 때까지 해당타입이 무엇인지 정확히 알 필요