Peamine erinevus: andmete peitmine, mida tuntakse ka kui infotehnoloogias peituva teabe varjamine või andmete kapseldamine, on tarkvara arendamise meetod, mida kasutatakse objektorienteeritud programmeerimisel (OOP). Seda kasutatakse peamiselt sisemiste objektide üksikasjade, st arvutiprogrammi disainilahenduste peitmiseks, mis tõenäoliselt muutuvad. Abstraktsioon on teine protsess arvutiteaduses. See peidab rakenduste üksikasjad andmete ja programmide kaudu. See näitab ainult asjakohaseid üksikasju, kui programm seda nõuab.
Andmete varjamine, mida tuntakse ka kui infosaladuse või andmetöötluse andmete kapseldamine, on tarkvara arendamise meetod, mida kasutatakse objektorienteeritud programmeerimisel (OOP). Seda kasutatakse peamiselt sisemiste objektide üksikasjade, st arvutiprogrammi disainilahenduste peitmiseks, mis tõenäoliselt muutuvad. See peidab teiste osade programmide andmed, nii et kui andmed või disainilahendused muutuvad, ei mõjuta need kogu programmi, vaid need osad, mida detailid ei varja. See omakorda muudab kogu programmi palju stabiilsemaks, sest üks osa programmi osast ei muuda tõenäoliselt kogu programmi.
Andmete varjamine on ka võimeline takistama klassi- või tarkvarakomponendi teatud aspektide ligipääsu oma klientidele. See saavutatakse, kasutades kas programmeerimiskeele funktsioone, nagu eramuutujad või selgesõnaline ekspordipoliitika. Andmete peitmine vähendab ka süsteemi keerukust, et suurendada robustsust, piirates tarkvara komponentide omavahelist sõltuvust.
Andmete abstraktsioon võimaldab programmeerijal detaile vähendada ja nende tegurit välja arvutada, et ta saaks keskenduda korraga mõnele kontseptsioonile. See näitab ainult üksikasju, mida kasutaja nõuab, samas kui kõik muud üksikasjad ja teave on peidetud. See lihtsustab olemasolevaid andmeid, nii et kasutaja ei pruugi tegeleda vajalike andmetega.
Süsteemil võib olla mitu abstraktsioonikihti. Igal kihil on erinevad tähendused ja peituvad erinevad detailid. Wikipedia loetleb seda näidet: madala tasemega abstraktsioonikihid paljastavad selle arvuti riistvara üksikasjad, kus programmi käivitatakse, samal ajal kui kõrgetasemelised kihid käsitlevad programmi äriloogikat.
Peamine erinevus andmete peitmise ja andmete võtmise vahel on see, et andmed peidavad peidavad mõningaid andmeid programmi muudest osadest. Need andmed ei ole kunagi saadaval programmiosade kohta, mida see on peidetud, kuni programmeerija kirjutab koodi ümber, et andmed varjata. Andmete võtmisel ei ole andmed täielikult peidetud. Seda pole lihtsalt näidatud, kuna see ei ole praegu asjakohane. Kui andmed muutuksid asjakohaseks, näidatakse seda.