Datadöljning är en metod som används i objektorienterad programmering för att dölja information i datorkod. Objekt i en kod har inte tillgång till information som anses vara gömd. Det ger flera fördelar för programmerare, eftersom objekt inte kan ansluta till irrelevant data och hackare är mindre benägna att få tillgång till data. Samtidigt kan gömma data göra det svårare för en programmerare, som kan behöva använda mer kod för att skapa effekter i dolda data än vad som skulle vara nödvändigt om datan var offentlig.
Objektorienterad programmering är en typ av programmering där delar av koden delas upp i objekt. Vart och ett av dessa objekt är programmerat i kapslar, så varje objekt har sin egen kodning som endast gäller det objektet. Utan att ange data som dold är all data öppen för objekten.
Datadöljning tar vissa delar av koden och döljer dessa delar från objekten. Objekten kan inte direkt komma åt någon data som är gömd. Om ett objekt kommer åt dolda data kommer det att returnera ett fel. Detta beror på att objektet inte kan se data, så alla funktioner eller data som är märkta som dolda kommer att se osynliga ut för objektet. För det mesta är data som döljs de interna komponenterna som inte behövs av användaren och som kan visa sig vara farliga om data läggs öppet för användaren.
Fördelen för programmerare är att det inte finns något sätt för en programmerare att av misstag länka till felaktig data. Datadöljning säkerställer att, om en programmerare gör denna länk, kommer programmet helt enkelt att returnera ett fel så att programmeraren snabbt kan rätta till misstaget. Detta säkerställer också att alla objekt verkligen är isolerade enheter, vilket är huvudkonceptet för objektorienterad kodning. Flyktiga data döljs vanligtvis eftersom, om sådan data offentliggörs, kan den skada objektet och förstöra hela programmet.
En annan fördel med att dölja data är ökad säkerhet mot hackare. Om alla interna data är offentliga kan en hackare enkelt klämma in den interna informationen och göra ändringar för att manipulera programmet på ett skadligt sätt. Genom att dölja data är det mycket svårare att knäcka koden, eftersom data kommer att verka osynliga för objekten och hackaren.
Nackdelen med att dölja data är att det ibland kan tvinga programmerare att använda extra kodning. Om en programmerare kan länka till dolda data kan det få objekt att fungera snabbare eller skära ner på en stor mängd kod. De flesta programmerare håller dock inte all information offentlig på grund av alla problem som är förknippade med denna typ av kodning.