Kapselointi tarkoittaa tiedon ja sitä käsittelevien metodien niputtamista yhteen yksikköön (luokkaan) ja sisäisen tilan piilottamista hallitun julkisen rajapinnan taakse. Kutsujat kommunikoivat metodien kautta, eivätkä pääse suoraan raakakenttiä.
Miksi piilottaa tila
Jos kuka tahansa voi muuttaa kenttää suoraan, et voi koskaan taata, että objekti pysyy voimassa. Kapselointi antaa luokalle mahdollisuuden pakottaa omat invariantit.
{
balance;
{
(amount <= )
();
(amount > balance)
();
balance -= amount;
}
{ balance; }
}
