📝 Ce que vous apprendrez

  • Qu'est-ce qu'un modificateur d'accès ?
  • Les quatre types de niveaux d'accès en Java
  • Comment utiliser correctement chaque modificateur
  • Meilleures pratiques pour l'encapsulation et le contrôle d'accès

🛡️ Qu'est-ce qu'un modificateur d'accès ?

Les modificateurs d'accès définissent qui peut accéder à une classe, une méthode ou une variable.

Il existe quatre types :

| Le droit à l'information et à l'éducation est un droit fondamental de l'homme et de la société. |||--|-|| | ✅ ❌ ❌ ❌ ❌ ❌ ❌ | (par défaut) ✅ | ✅ | ❌ ❌ | ❌ | ❌ | ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅

🔒 private

Accessible uniquement au sein de la même classe.

public class BankAccount {
    private double balance;

    public void deposit(double amount) {
        balance += amount;
    }
}

✅ Idéal pour encapsuler des données sensibles.

🌐 public

Accessible de n'importe où.

public class Hello {
    public void sayHello() {
        System.out.println("Hi there!");
    }
}

✅ Utilisation pour les API et les méthodes utilitaires destinées à être réutilisées.

🏠 Défaut (Pas de mot-clé)

Accessible uniquement dans le même paquet.

class Helper {
    void help() {
        System.out.println("Helping...");
    }
}

Les objets sont accessibles à l'intérieur d'un paquet, mais cachés ailleurs.

🧬 protégé

Accessible dans le même paquet et dans les sous-classes.

class Animal {
    protected void speak() {
        System.out.println("Animal sound");
    }
}
class Dog extends Animal {
    void bark() {
        speak(); // ✅ Allowed
    }
}

✅ Idéal pour les chaînes d'héritage où certains comportements internes sont partagés.

🔍 Exemple : Tout en un

public class Person {
    public String name;         // accessible anywhere
    protected int age;          // accessible in subclasses
    String email;               // default/package-private
    private String password;    // accessible only in this class
}

🧠 Meilleures pratiques

  • Utiliser private par défaut pour les variables et les méthodes internes
  • Ne rendez quelque chose "public" que s'il est destiné à un usage externe.
  • Utiliser protected pour les méthodes partagées avec les sous-classes
  • Gardez votre surface API petite et sûre

📘 Recap

  • Les modificateurs d'accès contrôlent la visibilité et l'encapsulation
  • privé = le plus sûr, public = le plus ouvert
  • Choisissez l'accès en fonction de l'utilisation que vous souhaitez faire de votre classe