Apstrakcija (računarstvo)

U softverskom inženjerstvu i računarstvu, apstrakcija je:

 proces uklanjanja fizičkih, prostornih ili vremenskih detalja ili atributa u izučavanju objekata ili sistema da bi se pažnja usmjerila na detalje veće važnosti; slično prirodnom procesu generalizacije;
 kreiranje objekata apstraknih koncepata oponašanjem zajedničkih karakteristika ili atributa različitih neapstraktnih objekata ili sistema ili studija – rezultat procesa apstrakcije.

Apstrakcija generalno, fundamentalni je koncept u računarstvu i razvoju softvera. Proces apstrakcije može se također definisati kao modeliranje i usko je povezan konceptima teorije i dizajna. Modeli također mogu biti smatrani tipovima apstrakcija zbog njihovih generalizacija aspekata realnosti.

Apstrakcija u računarstvu je usko povezano s apstrakcijom u matematici zbog zajedničkog fokusa na građenju apstrakcija kao objekata, ali je također povezano sa pojmovima apstrakcije korištenim u ostalim poljima kao što je umjetnost.

Apstrakcije se također mogu odnositi na objekte i sisteme iz stvarnog svijeta, na pravila računarskih sistema ili pravila programskih jezika koji nose ili primjenjuju karakteristike same apstrakcije, npr:

 korištenje tipova podataka za obavljanje podatkovne apstrakcije za odvajanje reprezentacija korištenja od reprezentacije rada podatkovnih struktura unutar programa;
 koncept procedura, funkcija ili subrutina koje predstavljaju specifikaciju implementacije kontrolnih tokova u programima;
 pravila zajednički nazvana "apstrakcija" koja generaliziraju izraze korištenjem slobodne i vezane varijable u različitim sistemima lambda računa;
 korištenje S-izraza kao apstraktne podatkovne strukture i programe u Lisp programskom jeziku;
 proces reorganizacije zajedničkih ponašanja iz neapstraktnih klasa u "apstraktne klase" korištenjem nasljeđivanja za apstrakciju preko podklasa kao što je slučaj kod objektno orijentiranih C++ i Java programskih jezika.

 Također pogledajte 
 Algoritam
 Enkapsulacija
 Lambda račun

 Reference 

Kategorija:Objektno orijentirano programiranje
Kategorija:Računarstvo
Kategorija:Upravljanje podacima
Kategorija:Apstrakcija