Nøgleforskel: Dataskydning, også kendt som informationsgrænse eller dataindkapsling i datalogi, er en softwareudviklingsteknik, der anvendes i objektorienteret programmering (OOP). Det bruges hovedsageligt til at skjule interne objektdetaljer, dvs. designbeslutningerne i et computerprogram, der sandsynligvis vil ændre sig. Abstraktion er en anden proces inden for datalogi. Det skjuler implementeringsdetaljer fra data og programmer. Det viser kun relevante detaljer, når og når det kræves af programmet.

Data-skjuling, også kendt som informationsgrænse eller dataindkapsling i datalogi, er en softwareudviklingsmetode, der anvendes i objektorienteret programmering (OOP). Det bruges hovedsageligt til at skjule interne objektdetaljer, dvs. designbeslutningerne i et computerprogram, der sandsynligvis vil ændre sig. Dette skjuler data fra andre dele programmer, så når data- eller designbeslutningerne ændrer sig, har de ingen indflydelse på hele programmet, kun de dele, som detaljerne ikke er skjult fra. Dette til gengæld gør det overordnede program langt mere stabilt, som en enkelt ændring i en del af programmet, og det vil sandsynligvis ikke ændre hele programmet.
Data gemmer også evnen til at forhindre visse aspekter af en klasse eller software komponent at være tilgængelig for sine kunder. Dette opnås ved at bruge enten programmeringssprogfunktioner som private variabler eller en eksplicit eksportpolitik. Data gemmer også reducerer systemkompleksiteten for øget robusthed ved at begrænse indbyrdes afhængigheder mellem softwarekomponenter.

Dataabstraktion giver programmereren mulighed for at reducere og faktorere detaljer, så han kan fokusere på nogle få koncepter ad gangen. Det viser kun de detaljer, der kræves af brugeren, mens alle de øvrige detaljer og oplysninger er skjult. Dette strømlinjeformerer de data, der er tilgængelige, således at brugeren muligvis ikke behøver at behandle detaljer, der ikke er nødvendige på det tidspunkt.
Et system kan have flere abstraktionslag. Hvert lag ville have forskellige betydninger og skjule forskellige detaljer. Wikipedia lister dette eksempel: lavniveau abstraktion lag udsætter detaljer for computer hardware, hvor programmet køres, mens højt niveau lag omhandler forretnings logik af programmet.
Den væsentligste forskel mellem data skjule og data abstraktion er, at data gemmer skjuler nogle data fra de øvrige dele af programmet. Disse data er aldrig tilgængelige for de dele af programmet, som den er skjult fra, indtil programmøren omskriver koden til at oplyse dataene. I dataabstraktion er dataene imidlertid ikke helt skjulte. Det er bare ikke vist, da det ikke aktuelt er relevant. Hvis dataene skulle blive relevante, ville det blive vist.