Scalaのメソッド定義

Scalaのメソッド定義は、大きく分類して2種類ある。
Java等と同様の普通の形式と、関数型の処理としての形式である。
それぞれメソッド形式と関数型形式とすると、次のような感じ。
さらに関数型形式では、def以外のvarもvalも使えるみたいだ。
よって、同じようなことをするのに4つも記述方法があることになる。
これらが微妙に性質が異なるようだ。
ややこしい。
まとめると次の用になる。
  1. メソッド形式

  2. def met01(x:int, y:int):String = {"met01(int,int) " + x + y}

  3. defによる関数型形式

  4. def met02:(int, int)=>String = {(x, y) => "met02(int,int) " + x + y}

  5. varによる関数型形式

  6. var met03:(int, int)=>String = {(x, y) => "met03(int,int) " + x + y}

  7. valによる関数型形式

  8. val met04:(int, int)=>String = {(x, y) => "met04(int,int) " + x + y}

これらの性質の違いを確認する。
1234
オーバーロード×××
上書き※×××
※オーバーライドではなく、別の処理を代入してしまうこと。