트레이트로 공통된 동작을 정의하기

트레이트(trait) 는 특정한 타입이 가지고 있으면서 다른 타입과 공유할 수 있는 기능을 정의합니다. 트레이트를 사용하면 공통된 기능을 추상적으로 정의할 수 있습니다.

트레이트로 공통 동작을 선언하고, 타입별 구현으로 다형성을 만드는 방식을 확인합니다.

공통 계약

trait Summary

fn summarize(&self) -> String이라는 동작의 모양을 선언하고, 실제 문장은 각 타입이 책임집니다.

impl

NewsArticle

제목·작성자·지역을 기사 형식의 요약 문자열로 조합합니다.

impl

Tweet

사용자 이름과 본문을 트윗 형식의 요약 문자열로 만듭니다.

default

기본 구현 재사용

공통 기본값을 제공하고 필요한 타입만 메서드를 덮어씁니다.