Følgende prinsipper er sentrale i OOP: – pakke data og funksjonalitet sammen i enhetstyper/klasser i programmet. Dette er basis for , en av kvalitetene man prøver å oppnå. – gjøre at programmereren underveis kan ignorere noen av detaljene ved implementasjon av det som jobbes med. – skjule den interne tilstanden til et objekt fra andre. Dette gjør at utenforstående kode ikke kan endre på tilstanden til objektet på uforutsette måter. – gjøre at et objekt kan oppføre seg som et annet, bare den oppfyller den «kontrakten» grensesnittet spesifiserer. – lette arbeidet med innkapsling og polymorfi ved å tillate programmereren å lage objekter som er mer spesialiserte utgaver av andre objekter.