Sobes.tech
Junior — Middle

Sınıfın oluşturulan tüm örnekleri için ortak mı olan nesne?

sobes.tech yapay zeka

AI'dan gelen yanıt

Evet, Kotlin'deki companion object (sınıf arkadaş nesnesi), sınıfın tüm örnekleri tarafından paylaşılır. Bu, sınıfa bağlı olan ve belirli bir örneğe değil, sınıfa ait olan bir singleton gibidir.

Companion object, sınıf örneği oluşturmadan çağrılabilen fonksiyonlar ve özellikler tanımlamaya olanak tanır; bu, Java'daki statik metodlar ve alanlara benzer.

Örnek:

class MyClass {
    companion object {
        val sharedValue = 42
        fun printValue() {
            println("Paylaşılan değer: $sharedValue")
        }
    }
}

fun main() {
    println(MyClass.sharedValue) // 42
    MyClass.printValue()        // Paylaşılan değer: 42
}

Burada, sharedValue ve printValue, tüm MyClass örnekleriyle paylaşılır.