Programowanie obiektowe (ang. object-oriented programming) — jest to paradygmat programowania, w którym programy definiuje się za pomocą obiektów i zachowań. Ważną cechą jest tu powiązanie danych (czyli stanu) z operacjami na nich (czyli poleceniami) w całość, stanowiącą odrębną jednostkę — obiekt.
Istotny jest mechanizm dziedziczenia, czyli możliwość definiowania nowych, bardziej złożonych obiektów, na bazie obiektów już istniejących.
Podejście to różni się od tradycyjnego programowania proceduralnego, gdzie dane i procedury nie są ze sobą bezpośrednio związane. Programowanie obiektowe ma ułatwić pisanie, konserwację i wielokrotne użycie programów lub ich fragmentów.
Największą zaletą programowania, projektowania oraz analizy obiektowej jest zgodność takiego podejścia z rzeczywistością. Wynika to z tego, że mózg ludzki jest w naturalny sposób najlepiej przystosowany do takiego podejścia przy przetwarzaniu informacji. Mamy tego przykłady już w zamierzchłej przeszłości, ponieważ Platon postulował dwoistość: "byt" - "idea (wzorzec) bytu", np. książka jako idea ogólna - w terminologii platońskiej: doskonała (choć niedookreślona), i książka konkretna np. zbiór baśni leżący na piątej półce. Podobnie, choć później Arystoteles analizując rzeczywistość wprowadził pojęcia formy i materii.