Sobes.tech
Junior

Šta znači termin 'staticki'?

sobes.tech АИ

Одговор од АИ

U programiranju, termin "staticki" može se odnositi na različite koncepte, ali najčešće označava nešto što je povezano sa vremenom kompajliranja ili pripadnošću klasi, a ne konkretnom primeru objekta.

  • Statičko povezivanje (Static Binding): Definicija pozvane funkcije dešava se tokom vremena kompajliranja, a ne tokom izvršavanja. Ovo je suprotno od dinamičkog povezivanja.
  • Statičke promenljive/polja (Static Variables/Fields): Promenljive koje pripadaju klasi, a ne konkretnom objektu te klase. Svi objekti iste klase dele istu statičku promenljivu. One se inicijalizuju pri učitavanju klase i postoje u jednom primerku.
  • Statičke metode (Static Methods): Metode koje pripadaju klasi, a ne konkretnom objektu. Mogu se pozvati direktno putem imena klase bez kreiranja instance. Statičke metode nemaju pristup nestatičkim poljima klase, jer nisu povezane sa konkretnim primerkom.
  • Statička analiza koda (Static Code Analysis): Analiza izvornog koda programa bez njegovog izvršavanja. Koristi se za otkrivanje potencijalnih grešaka, ranjivosti ili kršenja standarda kodiranja u ranoj fazi razvoja.

U QA kontekstu, statička analiza i testiranje koda su važni delovi procesa, koji pomažu u poboljšanju kvaliteta pre faze dinamičkog testiranja i izvršavanja koda.

Primer statičkog polja i metode u Javi:

class Counter {
    static int count = 0; // Statičko polje

    Counter() {
        count++;
    }

    static void displayCount() { // Statička metoda
        System.out.println("Broj instanci: " + count);
    }
}

// Upotreba
// Counter obj1 = new Counter();
// Counter obj2 = new Counter();
// Counter.displayCount(); // Pozivanje statičke metode putem imena klase