Draw 예제

트레이트 객체와 동적 디스패치

Box<dyn Draw>는 서로 다른 구체 타입을 하나의 벡터에 담고 런타임에 맞는 draw 구현을 찾게 합니다.

Draw 트레이트

공통으로 호출할 draw 메서드 형태를 정의합니다.

components

Vec<Box<dyn Draw>>가 서로 다른 위젯을 한 목록에 담습니다.

동적 디스패치

런타임 테이블을 통해 실제 메서드 구현이 선택됩니다.

유연성 비용

인라인 최적화가 어려워질 수 있지만 확장성이 생깁니다.