Enkapsulace znamená seskupení dat a metod, které na nich operují, do jedné jednotky (třídy) a skrytí interního stavu za kontrolovaným veřejným rozhraním. Volajícího komunikují přes metody, ne přímým přístupem k surovým polím.
Proč skrývat stav
Pokud si kdokoli může přímo změnit pole, nemůžete nikdy zaručit, že objekt zůstane platný. Enkapsulace umožňuje třídě vynucovat vlastní invarianty.
{
balance;
{
(amount <= )
();
(amount > balance)
();
balance -= amount;
}
{ balance; }
}
