Junior
Čo znamená pojem 'statický'?
sobes.tech AI
Odpoveď od AI
V programovaní môže term "statický" odkazovať na rôzne koncepty, ale najčastejšie označuje niečo súvisiace s časom kompilácie alebo s príslušnosťou ku triede, a nie ku konkrétnemu výtlačku objektu.
- Statické viazanie (Static Binding): Definícia volanej funkcie sa deje počas kompilácie, nie počas behu. Toto je opak dynamického viazania.
- Statické premenné/polia (Static Variables/Fields): Premenné patriace triede, nie konkrétnemu objektu tejto triedy. Všetky objekty jednej triedy zdieľajú rovnakú statickú premennú. Sú inicializované pri načítaní triedy a existujú v jednom výtlačku.
- Statické metódy (Static Methods): Metódy patriace triede, nie konkrétnemu objektu. Môžu byť volané priamo cez názov triedy bez vytvorenia inštancie. Statické metódy nemajú prístup k nestatickým poliam triedy, pretože nie sú viazané na konkrétny výtlačok.
- Statická analýza kódu (Static Code Analysis): Analýza zdrojového kódu programu bez jeho spustenia. Používa sa na odhalenie potenciálnych chýb, zraniteľností alebo porušení štandardov kódovania v raných fázach vývoja.
V kontexte QA sú statická analýza a testovanie kódu dôležitou súčasťou procesu, ktoré pomáhajú zlepšiť kvalitu pred fázou dynamického testovania a vykonávania kódu.
Príklad statického poľa a metódy v Jave:
class Counter {
static int count = 0; // Statické pole
Counter() {
count++;
}
static void displayCount() { // Statická metóda
System.out.println("Počet inštancií: " + count);
}
}
// Použitie
// Counter obj1 = new Counter();
// Counter obj2 = new Counter();
// Counter.displayCount(); // Volanie statickej metódy cez názov triedy