Rust for Rustcean を勧められて読んでいると、最初の型の話のところで動的ディスパッチ、静的ディスパッチ、といった言葉が出てくる。これが何か僕は知らなかったわけだが、どうやら JavaScript 以外のプログラミング言語をしたことある人にとってはお馴染みなものであるらしい。なのでそれをキャッチアップしたときの話。努力はしたものの合ってる確証は持てていないのでマサカリは @sadnessOjidan 宛てに送っていただけると助かる。 動的ディスパッチ 実行時にオブジェクトの型を調べ、対応するメソッドを呼び出す。実行時の処理なので、関数のインライン化(後述)ができない。実行時にvtable (メソッドのアドレスと実際の処理を保持した、クラスごとに持っているテーブル)を参照して決めるので、多少のオーバーヘッドがかかる。実行時に決めるメリットとして、メソッド名を実行時に組み立てて実