【Kotlin】companion objectって何?
companion objectとは
詳細な定義についてはよく分かっていないのですが、
Kotlin公式のドキュメントではここで説明がありますね。
メリット
公式ドキュメントには、
オブジェクト式は すぐに 実行され(初期化され)、そこで使用されます オブジェクト宣言は、初回アクセス時に 遅延して 初期化されます コンパニオンオブジェクトは、対応するクラスが読み込まれた(解決)されたときに初期化され、これは Java の静的初期化子のセマンティクスに一致します
と書かれています。
つまり、
「このオブジェクトが定義されているクラスが読み込まれた時」に初めて初期化されるオブジェクト
ということではないでしょうか
これによって、アプリケーションの動作の高速化ができるのではと理解しています。