Hermetyzacja (kalk. „enkapsulacja”, w starszych pozycjach „kapsułkowanie”, od ) – jedno z założeń programowania obiektowego. Hermetyzacja polega na ukrywaniu pewnych danych składowych lub metod obiektów danej klasy tak, aby były one dostępne tylko metodom wewnętrznym danej klasy lub funkcjom zaprzyjaźnionym.
Gdy dostęp do wszystkich pól danej klasy jest możliwy wyłącznie poprzez metody, lub inaczej mówiąc: gdy wszystkie pola w klasie znajdują się w sekcji prywatnej lub chronionej, to taką hermetyzację nazywa się hermetyzacją pełną.
Przyczyny stosowania hermetyzacji Można wyróżnić trzy główne powody wprowadzenia hermetyzacji do programowania obiektowego: wyodrębnia interfejs uodparnia tworzony model na błędy, lepiej odzwierciedla rzeczywistość,
Wyodrębnia interfejs
Cel Głównym zadaniem wyodrębnienia interfejsu, a tym samym enkapsulacji, jest ukrycie przed użytkownikiem sposobu w jaki klasa wewnętrznie realizuje swoje zadanie. Metody i pola znajdujące się w sekcji publicznej stanowią interfejs, tj. jedyny dopuszczalny zbiór elementów klasy, którymi inne klasy mogą oddziaływać z daną klasą. Posiadanie wyodrębnionego interfejsu powoduje, że użytkownik danej klasy ma pewność, że korzystając z tych metod jest bezpieczny, tj. nie dojdzie do sytuacji w której klasa zostanie uszkodzona (np.