L'information hiding (nascondere le informazioni) è la tecnica che consente di separare la specifica di un modulo dalla sua realizzazione, rendendone invisibile l'implementazione.

Il concetto di classe supporta la tecnica dell'information hiding, permettendo la separazione dell'interfaccia, costituita dai prototipi delle operazioni possibili sugli oggetti della classe, dal corpo (realizzazione), cioè dalla implementazione delle operazioni stesse.

Infatti, all'interno di una classe possono essere presenti sia sezioni pubbliche, che sezioni private. In tal modo è possibile nascondere all'esterno l'informazione privata, che può essere manipolata solo dalle operazioni dichiarate nella classe (funzioni membro).
Inserendo nella sezione privata i dati che si vogliono proteggere, questi non sono accessibili direttamente dalle altre funzioni, ma solo attraverso l'interfaccia o funzioni membro della classe. Chi usa un oggetto di una determinata classe, quindi, vede solo l'interfaccia pubblica dello stesso.