ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് (OOP) എന്നത് ഒരു തരം പ്രോഗ്രാമിംഗ് മാതൃകയാണ്, അതിൽ പ്രോഗ്രാമിംഗ് ടാസ്ക്കുകൾ എന്റിറ്റികൾ അല്ലെങ്കിൽ ആട്രിബ്യൂട്ടുകളും അനുബന്ധ നടപടിക്രമങ്ങളും അടങ്ങുന്ന "ഒബ്ജക്റ്റുകൾ" ആയി രൂപപ്പെടുത്തുന്നു, പലപ്പോഴും രീതികൾ എന്ന് വിളിക്കപ്പെടുന്നു. സങ്കീർണ്ണത കുറയ്ക്കുന്നതിനാണ് OOP രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് കൂടാതെ നിലവിലുള്ള കോഡ് നീട്ടുന്നതും പരിഷ്ക്കരിക്കുന്നതും എളുപ്പമാക്കുന്നു. ഒബ്ജക്റ്റുകളിൽ ഡാറ്റയും രീതികളും (ഡാറ്റ കൈകാര്യം ചെയ്യുന്നതിനുള്ള പ്രവർത്തനങ്ങൾ) അടങ്ങിയിരിക്കുന്നതിനാൽ, ഒബ്ജക്റ്റുകൾക്ക് പരസ്പരം ആശയവിനിമയം നടത്താൻ കഴിയും.
ഒരുപക്ഷേ ഏറ്റവും അറിയപ്പെടുന്ന ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് ഭാഷ C++ ആണ്, എന്നാൽ Java, C#, JavaScript, Ruby, Python എന്നിവയുൾപ്പെടെ ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് സമീപനം ഉപയോഗിക്കുന്ന മറ്റ് നിരവധി ഭാഷകളുണ്ട്. ഒബ്ജക്റ്റ്-ഓറിയന്റേറ്റഡ് പ്രോഗ്രാമിംഗ് മാതൃകയിൽ, ഒബ്ജക്റ്റുകളെ ക്ലാസുകളായി കൂടുതൽ ക്രമീകരിക്കാം, അത് ഒരേ തരത്തിലുള്ള എല്ലാ ഒബ്ജക്റ്റുകളും പങ്കിടേണ്ട സ്റ്റാൻഡേർഡ് ആട്രിബ്യൂട്ടുകളും രീതികളും നിർവചിക്കുന്നു.
ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗിൽ, അമൂർത്തീകരണം, പാരമ്പര്യം, പോളിമോർഫിസം, എൻക്യാപ്സുലേഷൻ എന്നിവയുടെ സവിശേഷതകൾ കാര്യക്ഷമമായ ഒരു പ്രോഗ്രാമിംഗ് ഘടന സൃഷ്ടിക്കാൻ ഉപയോഗിക്കാം. ആന്തരിക നിർവ്വഹണം മറച്ചുവെക്കുമ്പോൾ ഒരു വസ്തുവിന്റെ ആട്രിബ്യൂട്ടുകളുടെയും രീതികളുടെയും നിർവചനം അമൂർത്തീകരണം അനുവദിക്കുന്നു. ഇത് പ്രോഗ്രാമിന്റെ മറ്റ് ഭാഗങ്ങളെ വസ്തുവിന്റെ ആന്തരിക അവസ്ഥ നേരിട്ട് കൈകാര്യം ചെയ്യുന്നതിൽ നിന്ന് തടയുന്നു. മറ്റൊരു വസ്തുവിന്റെ സ്വഭാവമോ ആട്രിബ്യൂട്ടുകളോ പുനരുപയോഗിക്കാൻ പാരമ്പര്യം ഒരു വസ്തുവിനെ അനുവദിക്കുന്നു. ഒരേ സ്വഭാവം ഒന്നിലധികം വസ്തുക്കളിൽ പുനരുപയോഗിക്കാൻ പോളിമോർഫിസം അനുവദിക്കുന്നു. അവസാനമായി, എൻക്യാപ്സുലേഷൻ ഒരു ഒബ്ജക്റ്റിലേക്ക് അനുബന്ധ ആട്രിബ്യൂട്ടുകളുടെയും പെരുമാറ്റങ്ങളുടെയും ബണ്ടിംഗ് വിവരിക്കുന്നു.
ഒഒപിയുടെ തത്വങ്ങൾ പല ആധുനിക പ്രോഗ്രാമിംഗ് ഭാഷകൾക്കും ഘടക-ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് പോലുള്ള സമീപനങ്ങൾക്കും കേന്ദ്രമായി മാറിയിരിക്കുന്നു. കാര്യക്ഷമവും അളക്കാവുന്നതും പുനരുപയോഗിക്കാവുന്നതുമായ സോഫ്റ്റ്വെയർ പരിഹാരങ്ങൾ വികസിപ്പിക്കുന്നതിന് സോഫ്റ്റ്വെയർ ഡെവലപ്പർമാർ OOP ആശയങ്ങൾ ഉപയോഗിക്കുന്നു.