1
공통된 동작을 위한 트레이트 정의하기
러스트는 상속 대신 공통 동작을 트레이트로 정의해 서로 다른 타입을 같은 인터페이스로 다룹니다.
예제 16-3: Draw 트레이트의 정의8장에서 벡터의 제약사항 중 하나는 하나의 타입 요소만 보관할 수 있다는 점이라고 언급했습니다. 예제 7-9에서는 정수, 부동소수점, 문자를 담기 위한 배리언트를 가진 SpreadsheetCell 열거형으로 이를 해결했습니다.
공통 동작을 트레이트로 정의하고, 트레이트 객체로 서로 다른 타입을 같은 컬렉션에서 다루는 기준을 확인합니다.
러스트는 상속 대신 공통 동작을 트레이트로 정의해 서로 다른 타입을 같은 인터페이스로 다룹니다.
예제 16-3: Draw 트레이트의 정의그러면 트레이트 객체(trait object)를 담는 벡터를 정의할 수 있습니다.
SpreadsheetCell트레이트 객체는 데이터와 동작을 묶어 런타임에 호출 대상을 결정합니다.
draw