L'encapsulation cache l'état interne d'une classe : les attributs sont private et accessibles seulement par des méthodes publiques (accesseurs, méthodes métier) qui garantissent les règles de validité. Elle protège les invariants de l'objet et permet de changer l'implémentation sans casser le code appelant.
Exemple
class Compte {
private double solde;
public double getSolde() { return solde; }
}