Rust

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

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

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

핵심 개념

NewsArticle

NewsArticle 구조체는 특정 지역에서 등록된 뉴스 기사를 저장하고, Tweet 구조체는 최대 280자의 콘텐츠와 해당 트윗이 새 트윗인지, 리트윗인지, 다른 트윗의 대답인지를 나타내는 메타데이터를 저장합니다.

1

트레이트 정의하기

트레이트(trait) 는 특정한 타입이 가지고 있으면서 다른 타입과 공유할 수 있는기능을 정의합니다.

2

특정 타입에 트레이트 구현하기

트레이트는 같은 목적의 메서드 시그니처를 묶어 여러 타입이 공통 동작을 제공하게 합니다.

3

기본 구현

고아 규칙은 동일한 타입과 트레이트 조합에 구현이 중복되는 상황을 막습니다.