Nur diejenigen Mitglieder einer Klasse sind öffentlich sichtbar, bei denen es absolut notwendig ist. Die anderen Mitglieder sind geheim (unbekannt) und werden nur über Zugriffsmethoden angesprochen. Je mehr Mitglieder geheim sind, desto einfacher wird es, die Software an weitere Anforderungen anzupassen (da nur die unbekannten = geheimen Bereiche geändert werden, die öffentliche API bleibt jedoch konstant).

Eine Eigenschaft oder Methode gilt als gekapselt, wenn man sie nur über Zugriffsmethoden abfragen oder ändern kann. Die eigentliche Eigenschaft oder Methode bleibt verborgen.