Belangrijk verschil: gegevens verbergen, ook wel bekend als informatieverberging of gegevensinkapseling in de informatica, is een softwareontwikkelingstechniek die wordt gebruikt in objectgeoriënteerd programmeren (OOP). Het wordt voornamelijk gebruikt om interne objectdetails te verbergen, dat wil zeggen de ontwerpbeslissingen in een computerprogramma die waarschijnlijk zullen veranderen. Abstractie is een ander proces in de informatica. Het verbergt uitvoeringsdetails van gegevens en programma's. Het toont alleen relevante details als en wanneer dit door het programma wordt vereist.
Verbergen van gegevens, ook wel bekend als informatieverberging of gegevensinkapseling in de informatica, is een softwareontwikkelingstechniek die wordt gebruikt in objectgeoriënteerd programmeren (OOP). Het wordt voornamelijk gebruikt om interne objectdetails te verbergen, dat wil zeggen de ontwerpbeslissingen in een computerprogramma die waarschijnlijk zullen veranderen. Dit verbergt de gegevens van andere onderdelenprogramma's, zodat wanneer de gegevens of ontwerpbeslissingen veranderen, ze geen impact hebben op het hele programma, alleen de onderdelen waar de details niet voor verborgen zijn. Dit maakt op zijn beurt het algemene programma veel meer stallen, omdat een enkele verandering in een deel van het programma waarschijnlijk niet het hele programma zal veranderen.
Het verbergen van gegevens heeft ook de mogelijkheid om te voorkomen dat bepaalde aspecten van een klasse of softwarecomponent toegankelijk zijn voor zijn klanten. Dit wordt bereikt door gebruik te maken van programmeertaalfuncties zoals privévariabelen of een expliciet exportbeleid. Het verbergen van gegevens vermindert ook de systeemcomplexiteit voor meer robuustheid door de onderlinge afhankelijkheden tussen softwarecomponenten te beperken.
Met gegevensabstractie kan de programmeur details verkleinen en wegfilteren, zodat hij zich op een paar concepten tegelijk kan concentreren. Het toont alleen de details die de gebruiker nodig heeft, terwijl alle andere details en informatie verborgen zijn. Dit stroomlijnt de gegevens die beschikbaar zijn, zodat de gebruiker mogelijk niet hoeft te doen met details die op dat moment niet nodig zijn.
Een systeem kan meerdere abstractielagen hebben. Elke laag zou verschillende betekenissen hebben en verschillende details verbergen. Wikipedia geeft een lijst met dit voorbeeld: abstractielagen op laag niveau leggen details bloot van de computerhardware waar het programma wordt uitgevoerd, terwijl lagen op hoog niveau omgaan met de bedrijfslogica van het programma.
Het belangrijkste verschil tussen gegevens verbergen en gegevens abstractie is dat gegevens verbergen een aantal gegevens verbergt van de andere delen van het programma. Deze gegevens zijn nooit beschikbaar van de delen van het programma waar het voor verborgen is, totdat de programmeur de code herschrijft om de gegevens zichtbaar te maken. In data abstractie zijn de gegevens echter niet volledig verborgen. Het wordt gewoon niet getoond omdat het momenteel niet relevant is. Als de gegevens relevant zouden worden, zou het worden getoond.