Sobes.tech
Junior

Referans tipleri nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Referans Tipleri (Reference Types), bellek içinde bir nesne örneğine referans gönderen veya atanan veri türleridir, kendisinin bir kopyası değil.

Ana özellikler:

  • Birden fazla değişken aynı nesne örneğine referans verebilir.
  • Bir referans aracılığıyla nesnenin durumu değiştirilirse, bu diğer tüm referanslara yansır.
  • Referans tipleri ile çalışma, heap'teki nesnelere işaret eden göstergeler aracılığıyla yapılır.

Swift'teki referans tiplerine örnekler:

  • Sınıflar (class)
  • Fonksiyonlar (func)
  • Kapanışlar ({...})

Değer tipleri (Value Types) ile karşılaştırma:

Özellik Referans Tipi (Reference Type) Değer Tipi (Value Type)
Ne iletilir Referans (bellek adresi) Değerin kopyası
Depolama yeri Heap Stack
Kopyalama Referans kopyalanır Değer kopyalanır
Değişiklik Orijinal nesne etkilenir Kopya etkilenir
class MyClass {
    var value: Int

    init(value: Int) {
        self.value = value
    }
}

var object1 = MyClass(value: 10) // Sınıf örneği oluşturulur
var object2 = object1          // object2 artık aynı nesneye referans verir

print(object1.value) // Çıktı: 10
print(object2.value) // Çıktı: 10

object2.value = 20 // object2 aracılığıyla değeri değiştirir

print(object1.value) // Çıktı: 20 (değişiklik object1'i de etkiler)
print(object2.value) // Çıktı: 20

Swift'te referans tipleri için bellek yönetimi, Otomatik Referans Sayımı (ARC) kullanılarak yapılır.