pub 경계를 통해 구조체 내부 표현을 감춥니다.
OOP Lens
러스트식 객체 지향 판단
러스트는 상속 중심이 아니라 캡슐화, 트레이트, 제네릭과 트레이트 객체를 조합해 객체 지향적인 설계를 표현합니다.
데이터 은닉과 행위 추상화
트레이트로 타입들이 지켜야 할 메서드 계약을 둡니다.
타입이 고정되면 제네릭으로 성능을 우선합니다.
서로 다른 타입을 한 컬렉션에 담을 때 trait object를 봅니다.
판단 기준: 상태를 숨길지, 공통 행위를 트레이트로 묶을지, 정적 디스패치와 동적 디스패치 중 무엇이 맞는지 고릅니다.