Sobes.tech
Junior

Que signifie le terme 'statique' ?

sobes.tech IA

Réponse de l'IA

En programmation, le terme "statique" peut se référer à différents concepts, mais indique généralement quelque chose lié au moment de la compilation ou à l'appartenance à une classe, et non à une instance spécifique d'un objet.

  • Liage statique (Static Binding) : La définition de la fonction appelée se produit lors de la compilation, pas à l'exécution. C'est l'opposé du liage dynamique.
  • Variables/Champs statiques (Static Variables/Fields) : Variables appartenant à la classe, pas à une instance spécifique de cette classe. Tous les objets d'une même classe partagent la même variable statique. Elles sont initialisées lors du chargement de la classe et existent en une seule instance.
  • Méthodes statiques (Static Methods) : Méthodes appartenant à la classe, pas à un objet spécifique. Elles peuvent être appelées directement par le nom de la classe sans créer d'instance. Les méthodes statiques n'ont pas accès aux champs non statiques de la classe, car elles ne sont pas liées à une instance spécifique.
  • Analyse statique du code (Static Code Analysis) : Analyse du code source du programme sans l'exécuter. Utilisée pour détecter des erreurs potentielles, des vulnérabilités ou des violations des normes de codage à un stade précoce du développement.

Dans le contexte QA, l'analyse statique et les tests de code sont des parties importantes du processus, aidant à améliorer la qualité avant la phase de tests dynamiques et d'exécution du code.

Exemple de champ et de méthode statiques en Java :

class Counter {
    static int count = 0; // Champ statique

    Counter() {
        count++;
    }

    static void displayCount() { // Méthode statique
        System.out.println("Nombre d'instances : " + count);
    }
}

// Utilisation
// Counter obj1 = new Counter();
// Counter obj2 = new Counter();
// Counter.displayCount(); // Appel de la méthode statique par le nom de la classe