「コンパニオンオブジェクト」の意図する意味は何ですか?これまでのstatic
ところ、必要なときにJavaの代わりに使用しています。
私は混乱しています:
- なぜ「コンパニオン」と呼ばれているのですか?
- 複数の静的プロパティを作成するには、
companion object
ブロック内でグループ化する必要があるということですか? - クラスをスコープとするシングルトンインスタンスを即座に作成するために、
:
companion object {
val singleton by lazy { ... }
}
これは、一義的な方法のようです。より良い方法は何ですか?