Objektovo orientované programovanie je dôležitá množina metód, ktoré zefektívňujú vývoj programu a zároveň zvyšujú spoľahlivosť programov ().
Objektovo orientované programovanie zlúčilo procedurálne programovanie, ktorého podstatou je funkčná abstrakcia (rozčlenenie celej aplikácie do malých modulov podľa druhu vykonávaných činností) s tzv. dátovou abstrakciou.
Dátová abstrakcia robí s dátami to, čo funkčná s operáciami. Podobne ako pri funkčnej abstrakcií nás zaujíma iba to, čo daná funkcia robí a nie ako to robí, v dátovej abstrakcií nás zaujíma čo môžeme s dátovou štruktúrou robiť a nie ako je implementovaná. Čiastočná dátová abstrakcia je i v procedurálnych programovacích vyšších jazykoch, napríklad, čísla v pohyblivej rádovej čiarke sú abstrahované vo všetkých programovacích jazykoch. Nemusíme sa zaoberať presnou binárnou reprezentáciou čísla v pohyblivej rádovej čiarke, keď mu priraďujeme hodnotu. Nie je nutné, aby sme rozumeli zložitosti binárneho násobenia, keď chceme násobiť dve hodnoty v pohyblivej rádovej čiarke. Jedinou dôležitou vecou je, že čísla v pohyblivej rádovej čiarke fungujú správnym a zrozumiteľným spôsobom. Navyše objektovo orientované programovanie dovoľuje definovať vlastné abstraktné dátové typy.