「プログラマが知るべき97のこと」の57個目のエピソードは、ポリモーフィズムに関する話です。ポリモーフィズムはオブジェクト指向プログラミングにおいて最も重要な概念の1つです。日本語で多態性と呼ばれるこの技術は、実装レベルで考えれば方が同じで振る舞いが異なるクラスを定義できるということです。その事による恩恵としては、冗長なif文を減らすことができる事でしょう。例えば次のようなif文を含むメソッドがあるとします。 class Controller { void run(Request req) { if (req.isGet()) { // GETの場合の処理 } else if (req.isPost()) { // POSTの場合の処理 } else { throw new AssersionErrror(); } } } class Client { void invoke(Reques