Sobes.tech
Junior — Middle

Da li je objekat-pratilac zajednički za sve kreirane instance klase?

sobes.tech АИ

Одговор од АИ

Da, companion object (objekat saputnik) u Kotlinu je zajednički za sve instance klase. To je vrsta singletona povezanog sa klasom, a ne sa konkretnom njenom instancom.

Objekat saputnik omogućava definisanje funkcija i svojstava koja se mogu pozvati bez kreiranja instance klase, slično statičkim metodama i poljima u Javi.

Primer:

class MyClass {
    companion object {
        val sharedValue = 42
        fun printValue() {
            println("Deljena vrednost: $sharedValue")
        }
    }
}

fun main() {
    println(MyClass.sharedValue) // 42
    MyClass.printValue()        // Deljena vrednost: 42
}

Ovde su sharedValue i printValue zajednički za sve instance MyClass.