object

object

  • scala では1つのインスタンスを持つ class のこと.
  • 別の言い方をすると,object で宣言された class からは,1つのインスタンスしか生成することができない. これをシングルトンオブジェクトという.

定義

object <オブジェクト名> extends <クラス名> (with <トレイト名>)* {
  (<フィールド定義> | <メソッド定義>)*
}

コンパニオンオブジェクト

  • class と同じファイル内,同じ名前で定義されたシングルトンオブジェクトのこと.
  • コンパニオンオブジェクトは対応する class に対して特権的なアクセス権を有している.
    • class 内の privete にアクセスできる.
    • class 内の privete[this] にはアクセスできない.