Sobes.tech
Junior

Wat betekent de term 'statisch'?

sobes.tech AI

Antwoord van AI

In programmeren kan de term "static" verwijzen naar verschillende concepten, maar meestal betekent het iets dat gerelateerd is aan compileertijd of het behoren tot een klasse, en niet aan een specifiek objectvoorbeeld.

  • Static Binding (Statische binding): De definitie van de opgeroepen functie vindt plaats tijdens compilatie, niet tijdens uitvoering. Dit staat tegenover dynamische binding.
  • Static Variabelen/Velden (Static Variables/Fields): Variabelen die bij de klasse horen, niet aan een specifiek object van die klasse. Alle objecten van dezelfde klasse delen dezelfde statische variabele. Ze worden geïnitialiseerd bij het laden van de klasse en bestaan in één exemplaar.
  • Static Methoden (Static Methods): Methoden die bij de klasse horen, niet aan een specifiek object. Ze kunnen direct worden aangeroepen via de naam van de klasse zonder een instantie te maken. Statische methoden hebben geen toegang tot niet-statische velden van de klasse, omdat ze niet gekoppeld zijn aan een specifiek exemplaar.
  • Static Code Analyse (Static Code Analysis): Analyse van de broncode van het programma zonder het uit te voeren. Wordt gebruikt om potentiële fouten, kwetsbaarheden of schendingen van coderingsstandaarden in een vroeg stadium van ontwikkeling te detecteren.

In de QA-context zijn statische analyse en code-testen belangrijke onderdelen van het proces, die helpen de kwaliteit te verbeteren vóór de fase van dynamische testen en uitvoering van de code.

Voorbeeld van een statisch veld en methode in Java:

class Counter {
    static int count = 0; // Statisch veld

    Counter() {
        count++;
    }

    static void displayCount() { // Statische methode
        System.out.println("Aantal instanties: " + count);
    }
}

// Gebruik
// Counter obj1 = new Counter();
// Counter obj2 = new Counter();
// Counter.displayCount(); // Aanroep van de statische methode via de klasse naam