Veri gizleme, nesne yönelimli programlamada bilgisayar kodu içindeki bilgileri gizlemek için kullanılan bir yöntemdir. Bir kod içindeki nesneler, gizli kabul edilen bilgilere özel değildir. Programcılar için çeşitli avantajlar sunar, çünkü nesneler alakasız verilere bağlanamaz ve bilgisayar korsanlarının verilere erişme olasılığı daha düşüktür. Aynı zamanda, verileri gizlemek, gizli verilerde efektler oluşturmak için verilerin halka açık olması durumunda gerekenden daha fazla kod kullanması gerekebilecek bir programcı için zorlaşabilir.
Nesneye yönelik programlama, kodun bölümlerinin nesnelere ayrıldığı bir programlama türüdür. Bu nesnelerin her biri kapsüller halinde programlanmıştır, bu nedenle her nesnenin yalnızca o nesneye uygulanan kendi kodlaması vardır. Verileri gizli olarak belirtmeden tüm veriler nesnelere açıktır.
Veri gizleme kodun belirli kısımlarını alır ve bu kısımları nesnelerden gizler. Nesneler, gizlenmiş hiçbir veriye doğrudan erişemez. Bir nesne gizli verilere erişirse, bir hata döndürür. Bunun nedeni, nesnenin verileri görememesidir, dolayısıyla gizli olarak etiketlenen tüm işlevler veya veriler nesneye görünmez görünecektir. Çoğu zaman, gizlenen veriler kullanıcının ihtiyaç duymadığı dahili verilerdir ve veriler kullanıcıya açık bırakılırsa tehlikeli olabilir.
Programcılar için avantaj, bir programcının yanlışlıkla hatalı verilerle bağlantı kurmasının mümkün olmamasıdır. Veri gizleme, eğer bir programcı bu bağlantıyı yaparsa, programın hatayı hızlı bir şekilde düzeltebilmesi için programın bir hata döndürmesini sağlar. Bu aynı zamanda, tüm nesnelerin gerçekten nesne yönelimli kodlamanın ana konsepti olan gerçekten izole üniteler olmasını sağlar. Geçici veriler genellikle gizlenir, çünkü eğer böyle bir veri halka duyurulursa, nesneye zarar verebilir ve tüm programı tahrip edebilir.
Veri gizlemenin bir başka avantajı, bilgisayar korsanlarına karşı yüksek güvenlik. Tüm dahili veriler herkese açıksa, bir bilgisayar korsanı kolayca dahili verilere sıkılabilir ve programı kötü niyetli bir şekilde değiştirmek için herhangi bir değişiklik yapabilir. Verileri gizleyerek, kodu kırmak çok daha zordur, çünkü veriler nesnelere ve bilgisayar korsanlarına görünmez görünecektir.
Veri gizlemenin dezavantajı, bazen programcıları ekstra kod kullanmaya zorlayabilmesidir. Bir programcı gizli verilere bağlanabiliyorsa, nesnelerin daha hızlı çalışmasını veya büyük miktarda kodun kesilmesini sağlayabilir. Çoğu programcı, bu tür kodlama ile ilgili tüm sorunlardan dolayı, tüm bilgileri açık tutmaz.


