>>538
やれば可能だけど、class型の変数へのメッセージ送信のように
単純かつ効率的じゃあなくなる。
例えば単純な実装方法を一つ考えてみると、

1. まずは各classについて、そのclassがimplementsするinterface
  ごとにvtableを用意する。
  (classとinterfaceの組み合わせ個数のvtableが必要)
2. message receiverから変数の型として宣言されているinterface用の
  vtableを引く。この時、compilerはinterface名しか知らない事に注意。
  (classからinterface用のvtableを参照するテーブルを単純な配列で
  実装するのなら、システム中の全interfaceの個数分のサイズが必要で
  それを実行時にもclass毎に用意しておく)
3. 得られたinterface用のvtableでmethodを引いてdispatchする。

実行時にclassをloadしたりしないという前提でも、これだけ面倒な事になります。
また、実行時にclassをloadしなくて、かつ、これだけvtableのために
メモリを使う余裕があるのなら、動的型付け言語でも同様な事ができる。
つまり、各class毎に、システム中全てのmethod名についてのvtableを作ればいい。
これなら参照が一段で済むから、上記のinterface用vtableよりずっと速い (藁