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.