Merhabalar, bu yazımda sizlere mutable ve immutable kavramlarını kısaca açıklamaya çalışacağım.
Immutable
Burada immutable kavramını, nesne oluşturulduktan sonra, değeri değiştirilemeyen olarak tanımlayabiliriz.
Immutable veri tiplerine örnek olarak, string, integer, double, byte gibi tipleri örnek verebiliriz.
Şimdi konuyla ilgili küçük bir örnek yaparsak,
string strText = "Deneme"; strText.ToUpper(); Console.WriteLine(strText); //Çıktı : Deneme string newStr = strText.ToUpper(); Console.WriteLine(newStr); // Çıktı : DENEME
Şimdi burada strText ifadesini ToUpper metoduyla büyük harfe çevirme işlemi yapıp, console a yazdırdığımızda strText ifadesinin değişmediğini görürüz. Çünkü string immutable dır, ve tanımlandıktan sonra değeri değiştirilemez. Değiştirmek için, strText ifadesini yeni bir nesneye atamak gerekir, yani değiştirilmesi istenen nesneyi yeni bir nesneye veririz.
Mutable
Mutable da ise nesneleri oluşturduktan sonra, değerlerini değiştirebiliriz.
Mutable veri tiplerine örnek olarak ise, Date, StringBuilder gibi tipleri örnek verebiliriz. Burada mutable olarak StringBuilder seçeneği sunulabilir ve string’e alternatif olarak düşünülebilir.
Kısaca immutable ve mutable kavramlarını açıklamaya çalıştım, umarım faydalı olmuştur.