Junior
Referans veri tipleri nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Referans tipleri, değeri değil, değerin depolandığı yerin (bellek adresi) referansını tutar. Bu verilere atama veya geçiş sırasında sadece referans kopyalanır, nesnenin tamamı değil. Bir referans aracılığıyla yapılan değişiklikler, aynı nesneye işaret eden diğer referanslar aracılığıyla erişildiğinde görülebilir.
Farklı dillerde referans tiplerine örnekler:
- Java: Sınıflar (
String,Object, özel sınıflar), arayüzler, diziler. - C#: Sınıflar (
string,object, özel sınıflar), arayüzler, delegeler, diziler. - Python: Tüm veri tipleri (listeler, sözlükler, demetler, kümeler, sınıflar, fonksiyonlar).
# Python'da örnek
list1 = [1, 2, 3]
list2 = list1 # list2, aynı listeye referans eder
list2.append(4)
print(list1) # Çıktı: [1, 2, 3, 4]
print(list2) # Çıktı: [1, 2, 3, 4]
Değeri tutan tipler ise, değeri kendisi depolar ve atama/geçiş sırasında tüm değer kopyalanır.
Karşılaştırma örneği:
| Özellik | Değer Tipleri | Referans Tipleri |
|---|---|---|
| Depolama | Değer kendisi | Değere referans |
| Atama/geçiş | Değerin kopyası | Referansın kopyası |
| Değişiklik | Orijinali etkilemez | Orijinal değişir |
| Örnek (C#) | int, struct, enum |
class, interface, array |