Каково предполагаемое значение "сопутствующего объекта"? До сих пор я использовал его только для замены Java static, когда мне это нужно.
Я смущен:
- Почему он называется "компаньон"?
-  Означает ли это, что для создания нескольких статических свойств мне нужно сгруппировать их внутри блока companion object?
- Чтобы мгновенно создать экземпляр singleton, охваченный классом, я часто пишу
:
companion object {
    val singleton by lazy { ... }
}
который кажется унифицированным способом сделать это. Какой лучший способ?
