object
- scala では1つのインスタンスを持つ class のこと.
- 別の言い方をすると,object で宣言された class からは,1つのインスタンスしか生成することができない. これをシングルトンオブジェクトという.
定義
object <オブジェクト名> extends <クラス名> (with <トレイト名>)* {
(<フィールド定義> | <メソッド定義>)*
}
コンパニオンオブジェクト
- class と同じファイル内,同じ名前で定義されたシングルトンオブジェクトのこと.
- コンパニオンオブジェクトは対応する class に対して特権的なアクセス権を有している.
- class 内の privete にアクセスできる.
- class 内の privete[this] にはアクセスできない.