데이터와 동작
struct와 impl 블록으로 상태와 메서드를 한 타입 주변에 모은다.
struct + impl구조체는 데이터와 메서드를 묶고, 캡슐화는 공개 범위로 지키며, 코드 공유는 트레이트와 제네릭으로 풀어낸다.
struct와 impl 블록으로 상태와 메서드를 한 타입 주변에 모은다.
struct + impl필드는 기본 비공개이고 pub 메서드로 유효한 사용 경로만 공개한다.
visibility여러 타입이 같은 메시지에 반응해야 하면 trait으로 동작 계약을 만든다.
shared behavior상속 계층 대신 제네릭과 trait bound로 재사용 범위를 표현한다.
composition런타임에 다른 타입을 섞어야 할 때 trait object를 선택한다.
dyn Trait