Ovdje ćemo govoriti o osnovnim konceptima OOP. Objektno-orijentisano programiranje je paradigma koja sadrži mnoge koncepte kao što su nasljeđivanje (inheritance), povezivanje podataka (data binding), polimorfizam itd. Prvi objektno-orijentisani programski jezici su bili Simula i Smalltalk. Programska paradigma gdje je sve predstavljeno kao objekt je poznata kao istinski objektno-orijentisani programski jezik.
Objekt označava entitet iz stvarnog svijeta kao što su olovka, stolica, stol itd. Objektno-orijentisano programiranje je metodologija ili paradigma pisanja programa koristeći klase i objekte. Ono pojednostavljuje razvoj i održavanje softvera time što obezbjeđuje sljedeće koncepte:
Objekt Bilo koji entitet koji ima stanje i ponašanje se naziva objekt. Napr.: stolica, olovka, stol, tastatura, bicikl itd. Može biti fizički i logički. Klasa Kolekcija objekata se naziva klasa. Ona je logički entitet. Nasljeđivanje Kada jedan objekt dobija sve osobine i ponašanja roditeljskog objekta to se naziva nasljeđivanje. Ono obezbjeđuje ponovnu upotrebljivost (reusability) koda. Koristi se da se postigne polimorfizam u vremenu izvršavanja. Polimorfizam Kada se jedan zadatak izvršava na različite načine to je poznato kao polimorfizam. Napr.: uvjeriti mušteriju da nešto kupi možemo na različite načine, nacrtati nešto možemo na razne načine itd. U Javi, koristimo preopterećenje (overloading) metoda i preklapanje (overriding) metoda da bismo postigli polimorfizam. Apstrakcija Sakrivanje unutrašnjih detalja i pokazivanje funkcionalnosti je poznato kao apstrakcija. Napr.: dok telefoniramo nije neophodno da znamo kako se procesira signal. U Javi, koristimo apstraktne klase i interfejs da postignemo apstrakciju. Enkapsulacija Povezivanje (ili uvezivanje) koda i podataka zajedno u jedinstvenu jedinicu je poznato kao enkapsulacija. Java klasa je primjer enkapsulacije. Java zrno (bean) je u potpunosti enkapsulirana klasa zato što su svi podaci-članovi u njoj privatni.
Razlika između objektno-orijentisanog i objektno-zasnovanog programskog jezika Objektno zasnovani programski jezik slijedi sve principe OOP osim nasljeđivanja. JavaScript i VBScript su primjeri objektno zasnovanih programskih jezika.
Objektno orijentisano programiranje u Javi Index