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)
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ırStatik Ü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
| Özellik | Sınıf | Yapı |
|---|---|---|
| Tür | Referans Türü | Değer Türü |
| Bellek Yönetimi | Heap’te saklanır. | Stack’te saklanır. |
| Performans | Daha yavaş (heap yönetimi nedeniyle). | Daha hızlı (stack yönetimi nedeniyle). |
| Kalıtım | Desteklenir. | Desteklenmez. |
| Varsayılan Değer | null | Tü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/