Dispatch Dinamis Vs Statis
Method dijalankan dengan dua cara:
- dispatch statis - Ketika tipe instance diketahui, kita langsung tahu fungsi mana yang harus dipanggil.
- dispatch dinamis - Ketika tipe sebuah instance tidak diketahui, kita harus mencari cara untuk memanggil fungsi yang tepat.
Tipe trait seperti &dyn MyTrait memberi kita kemampuan untuk bekerja secara tidak langsung dengan instance objek menggunakan dispatch dinamis.
Ketika dispatch dinamis digunakan, Rust mendorongmu untuk menempatkan dyn sebelum tipe trait-mu agar orang lain menyadarinya.
Detail memori:
- Dispatch dinamis sedikit lebih lambat, karena adanya penelusuran pointer yang diperlukan untuk menemukan pemanggilan fungsi yang sebenarnya.