>>769
SaicoroIF s = new Chouhan()
と書いて、s.bar()を呼び出すことができる。
違和感があると思う。
しかし、これがオブジェクト指向の入り口。

インタフェースのメソッドを呼ぶことでプログラミングする。
実際にどれがインスタンス化しているのかに想定を置かず、
どんどん書いていく。

一方、どこでどう使われいるかを考えたりせず、
インタフェースを満たすことだけを考えて、
どんどんサブクラス化させていく。

インタフェースで一旦区切って、
実装と仕様を切り離そうという戦略。