Junior
'Statik' terimi ne anlama geliyor?
sobes.tech yapay zeka
AI'dan gelen yanıt
Programlamada, "statik" terimi farklı kavramlara atıfta bulunabilir, ancak genellikle derleme zamanı veya sınıfa ait olma ile ilgili bir şeyi ifade eder, belirli bir nesne örneğine değil.
- Statik Bağlama (Static Binding): Çağrılan fonksiyonun tanımı derleme zamanında gerçekleşir, çalışma zamanında değil. Bu, dinamik bağlamanın tersidir.
- Statik Değişkenler/Alanlar (Static Variables/Fields): Sınıfa ait olan, belirli bir nesneye değil. Aynı sınıftan tüm nesneler aynı statik değişkeni paylaşır. Sınıf yüklendiğinde başlatılırlar ve tek bir örnekte bulunurlar.
- Statik Metotlar (Static Methods): Sınıfa ait olan, belirli bir nesneye değil. Doğrudan sınıf adıyla çağrılabilirler, nesne oluşturmaya gerek yoktur. Statik metotlar, belirli bir örneğe bağlı olmayan sınıf alanlarına erişemez.
- Statik Kod Analizi (Static Code Analysis): Programın kaynak kodunun çalıştırılmadan analizi. Potansiyel hataları, güvenlik açıklarını veya kodlama standartlarına uyumsuzlukları erken aşamalarda tespit etmek için kullanılır.
QA bağlamında, statik analiz ve kod testi, sürecin önemli bir parçasıdır ve kodun dinamik test ve yürütme aşamasından önce kalitesini artırmaya yardımcı olur.
Java'da statik alan ve metod örneği:
class Counter {
static int count = 0; // Statik alan
Counter() {
count++;
}
static void displayCount() { // Statik metod
System.out.println("Örnek sayısı: " + count);
}
}
// Kullanım
// Counter obj1 = new Counter();
// Counter obj2 = new Counter();
// Counter.displayCount(); // Sınıf adını kullanarak statik metodu çağırma