Programiranje v predmetno usmerjenem jeziku, kot je java, nam omogoča, da aplikacijo, ki jo želimo razviti, opišemo v obliki strukture (hierarhije) razredov. Razredi v takšni strukturi predstavljajo osnovne sestavne dele naše aplikacije in s svojimi spremenljivkami in metodami določajo delovanje celotne aplikacije. Tako lahko še tako zahtevno aplikacijo razčlenimo na enostavne sestavne dele in s tem razbijemo kompleksno implementacijo na več enostavnejših delov. S tem ne le poenostavimo sam razvoj aplikacije, temveč tudi zmanjšamo možnosti vnosa napak v programsko kodo, saj se pri implementaciji posameznega dela aplikacije lažje osredotočamo na samo funkcionalnost kode. Z razredno strukturo prav tako poenostavimo razumevanje kode, povečamo možnost vnovične rabe posameznih delov kode, pa tudi povečamo pregled nad celotno implementacijo in lažje določimo, katere funkcionalnosti moramo v našo aplikacijo še vpeljati.