Kapsülleme (ya da Sarma) nesne yönelimli programlamada herhangi bir nesnenin metotlarını, verilerini ve değiskenlerini diğer nesnelerden saklayarak ve bunlara erişimini sınırlandırarak yanlış kullanımlardan koruyan bir konsepttir. Bir nesne üzerinde hem veri soyutlama, hem de kontrol soyutlaması yapılıyor ise buna sarma adı verilir. Çoğu programlama dilleri kapsüllemeyi aşağıda sıraladığımız üç bilgi erişim belirteçleri ile desteklerler.

  • Public (halka açık, kamu) erişim kuralı ile tanımladığımız metotlara ve verilere her nesneden erişebiliriz.
  • Private (özel, gizli) erişim kuralı ile tanımladığımız bir metoda sadece bu metodun tanımlandığı sınıftan örneklendirilmiş nesnelerin içinden erişim hakkına sahip oluruz.
  • Protected (korumalı) erişim kuralı ile tanımladığımız bir metoda ise bu metodun tanımlandığı sınıftan örneklendirilmiş nesnelerin içinden ve bu sınıfdan türetilmiş olan alt nesnelerden erişebiliriz.