Tietojen piilottaminen on menetelmä, jota käytetään olio-ohjelmoinnissa tietojen piilottamiseen tietokoneen koodiin. Koodin sisällä olevat objektit eivät ole salassa piilotettuina pidettäville tiedoille. Se tarjoaa useita etuja ohjelmoijille, koska objektit eivät pysty muodostamaan yhteyttä asiaankuulumattomiin tietoihin ja hakkerit eivät todennäköisesti pääse käsiksi tietoihin. Samaan aikaan tietojen piilottaminen voi vaikeuttaa ohjelmoijaa, joka saattaa joutua käyttämään enemmän koodia tehosteiden luomiseen piilotettuihin tietoihin kuin olisi tarpeen, jos tiedot olisivat julkisia.
Kohdekeskeinen ohjelmointi on eräänlainen ohjelmointityyppi, jossa koodin osat jaetaan objekteiksi. Jokainen näistä objekteista on ohjelmoitu kapseleiksi, joten jokaisella objektilla on oma koodaus, joka koskee vain kyseistä objektia. Määrittelemättä tietoja piilotetuiksi, kaikki tiedot ovat objekteille avoimia.
Tietojen piilottaminen vie tietyt koodin osat ja piilottaa ne kohteilta. Objektit eivät pääse suoraan käsiksi piilotettuihin tietoihin. Jos objekti käyttää piilotettuja tietoja, se palauttaa virheen. Tämä johtuu siitä, että objekti ei näe tietoja, joten kaikki toiminnot tai tiedot, jotka on merkitty piilotetuiksi, näyttävät objektille näkymättömiltä. Useimmiten piilotetut tiedot ovat sisäisiä komponentteja, joita käyttäjä ei tarvitse ja jotka voivat osoittautua vaarallisiksi, jos tiedot avataan käyttäjälle.
Ohjelmoijille on se etu, että ohjelmoija ei voi mitenkään linkittää vahingossa vääriin tietoihin. Tietojen piilottaminen varmistaa, että jos ohjelmoija tekee tämän linkin, ohjelma yksinkertaisesti palauttaa virheen, jotta ohjelmoija voi korjata virheen nopeasti. Tämä varmistaa myös, että kaikki objektit ovat todella eristettyjä yksiköitä, mikä on olio-ohjelmoinnin pääkäsite. Haihtuvat tiedot ovat tyypillisesti piilotettuja, koska jos ne julkistettaisiin, ne voivat vahingoittaa objektia ja tuhota koko ohjelman.
Toinen tietojen piilottamisen etu on parempi turvallisuus hakkereita vastaan. Jos kaikki sisäiset tiedot ovat julkisia, hakkeri voi helposti puristaa sisäiset tiedot ja tehdä muutoksia manipuloidakseen ohjelmaa haitallisesti. Piilottamalla tiedot on paljon vaikeampaa murtaa koodi, koska tiedot näyttävät näkymättömiltä esineille ja hakkereille.
Tietojen piilottamisen haittana on, että se voi joskus pakottaa ohjelmoijat käyttämään ylimääräistä koodausta. Jos ohjelmoija pystyy linkittämään piilotettuun dataan, se voi saada objektit toimimaan nopeammin tai leikata suuren määrän koodia. Useimmat ohjelmoijat eivät kuitenkaan pidä kaikkia tietoja julkisina, koska tämäntyyppiseen koodaukseen liittyy ongelmia.