Мы знаем, что double-colon (:: используется для получения ссылки на функцию (вызываемой) в Kotlin, например String::compareTo, "string"::compareTo.
 В Java мы используем SomeClass.class и someInstance.getClass() чтобы получить класс. Почему в Kotlin мы используем SomeClass::class и someInstance::class а class не является функцией/методом?
println(String::compareTo)
// output: fun kotlin.String.compareTo(kotlin.String): kotlin.Int
println("string".compareTo("strong"))
// output: -6
println(String::class)
// output: class kotlin.String
println("string".class)
// compile error