そこは今回関係なく、あくまで「メソッドを1つにしたい」というところが今回の話の本質です。)仮想呼び出しのコストまあ、冒頭で仮想呼び出しのコストの話を振っているのでどういう問題なのか察してもらえると思います。単純に、そこそこコストが掛かる仮想呼び出しを2回に分けたくないという話です。含まれるメソッドはたいていインライン展開されません。普通に仮想呼び出しのコストが掛かります。結果、仮想呼び出しが2回。いうことで、どのくらい変わるかベンチマークを用意しました。配列の中身を列挙するだけのクラスを2つ用意します。実装(本題に関係するところだけ抜き出し)。}}これに対して以下のようなループを回します。方が1.5倍くらい速い。版の方が1.5倍くらい高速です。型の方が速くなります。さっきとの違いは引数の型だけ。この場合は普通にこっちの方が速い。sum;}とはいえ、汎用性がなくなるので具象クラスで受け渡しするのはちょっとつらいです。ジェネリクスを使えば、構造体の時には仮想呼び出しが消える。クラスの時は別に仮想呼び出しは消えない。sum;}速くなる(仮想呼び出しが消える)のは構造体限定です。普通にやるとどうやっても仮想呼び出しが消えません。インターフェイス越し。仮想呼び出しはなかなか消せなかったりします。型のインターフェイスがよかったかもしれない、という話になったりします。ついて運営者について。