trait object는 데이터 포인터와 vtable 포인터로 런타임 호출을 만든다
Box<dyn Trait>은 실제 값을 가리키는 포인터와 메서드 표를 함께 들고, 호출 때 vtable을 따라간다.
구체 타입 숨김
Button 또는 SelectBox
draw 구현 찾기
타입 혼합 가능
| 구분 | 의미 | 판단 |
|---|---|---|
| generic | 컴파일 시 타입 고정 | 빠름, 한 컨테이너에 한 타입 |
| dyn Trait | 런타임 호출 | 서로 다른 타입을 한 컬렉션에 |
| 비용 | 간접 호출 | 유연성과 교환 |
핵심 trait object는 “어떤 타입인지 숨기되 어떤 메서드를 부를 수 있는지”는 유지하는 구조다.