Skrivanje podataka je metoda koja se koristi u objektno orijentiranom programiranju za skrivanje informacija unutar računalnog koda. Objekti unutar koda nisu upoznati s informacijama koje se smatraju skrivenima. Predstavlja nekoliko prednosti za programere, jer se objekti ne mogu povezati s nebitnim podacima i manje je vjerojatno da će hakeri moći pristupiti podacima. Istodobno, skrivanje podataka može otežati programeru, koji će možda morati koristiti više koda za stvaranje učinaka u skrivenim podacima nego što bi bilo potrebno da su podaci javni.
Objektno orijentirano programiranje je vrsta programiranja u kojoj se dijelovi koda dijele na objekte. Svaki od ovih objekata je programiran u kapsulama, tako da svaki objekt ima svoje kodiranje koje se odnosi samo na taj objekt. Bez navođenja podataka kao skrivenih, svi su podaci otvoreni objektima.
Skrivanje podataka uzima određene dijelove koda i skriva te dijelove od objekata. Objekti ne mogu izravno pristupiti podacima koji su skriveni. Ako objekt pristupi skrivenim podacima, vratit će pogrešku. To je zato što objekt ne može vidjeti podatke, pa će sve funkcije ili podaci koji su označeni kao skriveni izgledati nevidljivi objektu. Većinu vremena skriveni su podaci unutarnje komponente koje korisniku nisu potrebne i mogu se pokazati opasnima ako su podaci otvoreni za korisnika.
Prednost za programere je u tome što ne postoji način da se programer slučajno poveže s netočnim podacima. Skrivanje podataka osigurava da, ako programer napravi ovu vezu, program će jednostavno vratiti pogrešku kako bi programer mogao brzo ispraviti pogrešku. To također osigurava da su svi objekti uistinu izolirane jedinice, što je glavni koncept objektno orijentiranog kodiranja. Promjenjivi podaci obično su skriveni jer, ako se takvi podaci objave, mogu oštetiti objekt i uništiti cijeli program.
Još jedna prednost skrivanja podataka je povećana sigurnost od hakera. Ako su svi interni podaci javni, haker se može lako ugurati u interne podatke i napraviti bilo kakve promjene kako bi zlonamjerno manipulirao programom. Skrivanjem podataka mnogo je teže probiti kod, jer će podaci biti nevidljivi objektima i hakeru.
Nedostatak skrivanja podataka je što ponekad može prisiliti programere da koriste dodatno kodiranje. Ako se programer može povezati sa skrivenim podacima, može ubrzati rad objekata ili smanjiti veliku količinu koda. Većina programera ipak ne drži sve informacije javno zbog svih problema povezanih s ovom vrstom kodiranja.