Enkapsulacija znači pakiranje podataka i metoda koje operiraju na njima u jednu jedinicu (klasu) i skrivanje internog stanja iza kontroliranog javnog sučelja. Korisnici komuniciraju kroz metode, a ne direktnim pristupom sirovim poljima.
Zašto sakriti stanje
Ako bilo tko može direktno promijeniti polje, nikada ne možete garantirati da objekt ostane valjan. Enkapsulacija omogućava klasi da provede svoje vlastite invarijante.
{
balance;
{
(amount <= )
();
(amount > balance)
();
balance -= amount;
}
{ balance; }
}
