C# (C Sharp) Ders 19 – Nesne Yönelimli Programlama (OOP) – Statik Sınıflar (Static Classes), Statik Üyeler (Static Members), Yapılar (Structs)

Statik Sınıflar (Static Classes) ve Üyeler (Static Members)

Statik Sınıflar (Static Classes), nesne oluşturulamayan sınıflardır. Sadece statik üyeler içerirler. static anahtar kelimesiyle tanımlanır.

Kullanım Alanları: Yardımcı metotlar, sabit değerler veya genel işlevsellik sağlamak için kullanılır. (Örn: Matematiksel işlemler, loglama işlemleri)

C#
public static class Matematik
{
    public static int Topla(int a, int b)
    {
        return a + b;
    }

    public static double KareKok(double sayi)
    {
        return Math.Sqrt(sayi);
    }
}

// Kullanım:
int sonuc = Matematik.Topla(5, 3); // Nesne oluşturmadan metot çağrılır

Statik Üyeler: Sınıfın nesnesine bağlı olmayan üyelerdir. static anahtar kelimesiyle tanımlanır. (Özellikler, metotlar, olaylar)

Yapılar (Structs): Sınıflarla Karşılaştırması, Değer Türü vs. Referans Türü

Yapılar, sınıflara benzerdir, ancak değer türüdür. struct anahtar kelimesiyle tanımlanır.

Sınıflarla Karşılaştırma

ÖzellikSınıfYapı
TürReferans TürüDeğer Türü
Bellek YönetimiHeap’te saklanır.Stack’te saklanır.
PerformansDaha yavaş (heap yönetimi nedeniyle).Daha hızlı (stack yönetimi nedeniyle).
KalıtımDesteklenir.Desteklenmez.
Varsayılan DeğernullTüm alanların varsayılan değerleri atanır.

Değer Türü vs. Referans Türü

  • Değer Türü (Value Type): Doğrudan değeri saklar. Kopyalandığında yeni bir kopya oluşturulur. (Örn: int, double, struct)
  • Referans Türü (Reference Type): Bellekteki adresi saklar. Kopyalandığında aynı bellekteki nesneye işaret eder. (Örn: string, class)

Kaynak: https://learn.microsoft.com/tr-tr/dotnet/csharp/tour-of-csharp/tutorials/