なお、IDEを知らない人は、間違った想像をしてそうだから補足しておこう。

ポリモーフィズムを使ったら、どの関数が呼ばれるかわからないから
コード補完ができない。

たぶん、こう考えてるでしょう?


違う。ポリモーフィズムを使ってもコード補完は出来る。
まずインターフェースは同じだから、どんなメソッドがあるかは分かる。

どんなメソッドもがあるかはわかっても、実際に呼び出されるコードはどれかわからない。
たしかにそうだ。だがその場合、候補が出る。
インターフェースを実装しているクラスの候補が出る。
これもコード補完だ。候補すらわからない動的型付け言語より何倍も良い。

そして、インターフェースを変えると、その内容に応じて自動〜半自動で
実装クラスの修正が行える。これも静的型付け言語ならではのIDE機能だ。