scalaの多相いろいろ - おみブロZという素晴らしい記事を参考に、メソッドのポリモーフィズムの実装パターンを自分なりにまとめてみる。 まず、「メソッドのポリモーフィズム」という言葉が一般的でないかもしれないので、この記事での意味として、「引数や戻り値の型が異なる同名のメソッドを実装する方法」としておく。 また、ここで例示する記事は、GitHubのsuin/scala-playgroundに置いてあるので、試したい方はgit pullしてみてください。 メソッドのオーバーロード オーバーロードはJavaなどにもある仕組みで、引数の型が違う場合、同じ名前のメソッドを定義できる。アドホック多相(Ad hoc polymorphism)。 case class CreateCommand() case class UpdateCommand() case class CreateResult(