trait을 다른 struct에 저장하는 것도 흥미로운 도전과제입니다. trait은 원본 struct를 알기 어렵게 하느라 원래 크기 또한 알기 어렵게 합니다. Rust에서 크기를 알 수 없는 값이 struct에 저장될 때는 다음의 두 가지 방법으로 처리됩니다:
generics
- 매개변수의 자료형을 효과적으로 활용하여 알려진 자료형 및 크기의 struct/함수를 생성합니다.indirection
- 인스턴스를 heap에 올림으로써 실제 자료형의 크기 걱정 없이 그 포인터만 저장할 수 있는 간접적인 방법을 제공합니다. 또 다른 방법도 있습니다!