異なる種類のオブジェクトを共通のインターフェースに結びつけることは
オブジェクトの意味と立ち位置をはっきりさせる
オブジェクト間の関係もはっきりさせる

それらを使う側から見ると
インターフェース抽象型として同一に扱える
つまりコードの共通化ができる
インターフェースを実装してないオブジェクトに間違って適用してしまうバグも防げるため型安全性もある
C言語の関数ポインタやPythonのCallableと比べると使い勝手も安全性も格段に良くなっている

インターフェースを用いたオブジェクト指向プログラミングは可読性も保守性も良くなりバグも減らす