Sobes.tech
Junior

Mit jelent a 'statikus' kifejezés?

sobes.tech MI

Válasz az MI-től

A programozásban a "statikus" kifejezés különböző fogalmakra utalhat, de leggyakrabban valami olyanra utal, ami a fordítási idővel vagy az osztályhoz tartozással kapcsolatos, nem pedig egy konkrét objektumpéldányra.

  • Statikus kötés (Static Binding): A hívott függvény definíciója fordítási időben történik, nem futási időben. Ez ellentétes a dinamikus kötésével.
  • Statikus változók/tárolók (Static Variables/Fields): Az osztályhoz tartozó változók, nem egy konkrét példányhoz. Azonos osztály összes példánya osztozik ugyanazon statikus változón. Az osztály betöltésekor inicializálódnak, és egy példányban léteznek.
  • Statikus metódusok (Static Methods): Az osztályhoz tartozó, nem egy konkrét példányhoz. Közvetlenül a osztály neve alapján hívhatók meg, példány létrehozása nélkül. A statikus metódusok nem férnek hozzá az osztály nem-statikus mezőihez, mivel nem kötődnek egy konkrét példányhoz.
  • Statikus kód elemzés (Static Code Analysis): A program forráskódjának elemzése anélkül, hogy futtatnánk. Potenciális hibák, sebezhetőségek vagy kódolási szabványok megsértéseinek felismerésére használják a fejlesztés korai szakaszában.

A QA kontextusában a statikus elemzés és a kód tesztelése a folyamat fontos részei, amelyek segítenek javítani a minőséget a dinamikus tesztelés és a kód végrehajtása előtt.

Java példaként a statikus mező és metódus:

class Counter {
    static int count = 0; // Statikus mező

    Counter() {
        count++;
    }

    static void displayCount() { // Statikus metódus
        System.out.println("Példányok száma: " + count);
    }
}

// Használat
// Counter obj1 = new Counter();
// Counter obj2 = new Counter();
// Counter.displayCount(); // A statikus metódus hívása a osztály neve alapján