Как объекты-спутники в Kotlin обеспечивают функциональность, похожую на статические члены, и в чём их ключевые отличия от традиционных static-членов в Java? — ДейлиПреп