trait

트레이트 설계 체크리스트

trait는 여러 타입이 공유해야 할 동작의 이름과 시그니처를 정의합니다.

판단 기준

여러 타입이 같은 메시지에 응답해야 하는가

method

공통 동작의 시그니처를 trait에 둡니다.

impl

각 타입은 자기 데이터에 맞게 trait를 구현합니다.

default

공통 기본 구현을 제공하고 필요한 타입만 재정의합니다.

bound

제네릭 함수가 요구하는 동작을 trait bound로 표현합니다.