The knowledge sharing zone -

What is Abstraction?

This page contains the various simple definitions of 'abstraction' and It various characteristics and pictorial representation of 'abstraction' with different examples.


"A model of a complex system that includes only the details essential to perspective of the viewer of the system."


"Only the characteristics of the system that are essential to the problem being studied are modeled; minor or irrelevant details are ignored."

Explanation & Example

  • An abstraction is a model of a complex system that includes only the essential details. 
  • Abstractions are the fundamental way that we manage complexity.
  • Different viewers use different abstractions of a particular system.
  • Thus, while we see a car as a means of transportation, the automotive engineer may see it as a large mass with a small contact area between it and the road.

What does abstraction have to do with software development?

  • The programs we write are abstractions. 
  • A spreadsheet program used by an accountant models the books used to record debits and credits. 
  • An educational computer game about wildlife models an ecosystem. 
  • Writing software is difficult because both the systems we model and the processes we use to develop the software are complex. 
  • One of our major goals is to convince you to use abstractions to manage the complexity of developing software.

Advantages / Pros

  • Helps to manage the complexity of a large system.
  • Support our quality goals of modifiability and reusability.
  • Most modifications can be localized to just a few modules.
  • Supports the creation of generic modules that can be used in other systems.

Application / Use

  • Major application of Abstraction is basically to deal with the complexity of the system.
  • In other words we can say that we use abstractions to simply our work.


  • Abstraction, Information hiding & Stepwise refinement are inter-related methods for controlling complexity during the design of a system.

You would also like to read:

What is Information Hiding?
What is Stepwise Refinement?

Comments :

Awsome Example I Like it (y) Thnk u soo much

up vote icon down vote icon

This is very nice and useful information about Java,J2EE and all java related new technology.Through the pictorial representation any one can understand easily.

up vote icon down vote icon

well-informative text thank you

up vote icon down vote icon

Very good information.Nicely explained.

up vote icon down vote icon

very good article about oops concept abstraction

up vote icon down vote icon

Hi this is Ajay, working in a company on java base only. really it is very good website to refer new technologies. its better to add web service also. really i liked it dude. keep updating new stuff.

up vote icon down vote icon

Nice one it give proper desc on abstraction with help of graphical view. This will really gonna help a OOPs Starter.

up vote icon down vote icon

great ,wonderful. The explanation is simple and understandable.I read some pages of grady .very difficult to understand the language used.Thanks for your effort and lot people like me benefited. Thanks a lot

up vote icon down vote icon

Really this one is the great content

up vote icon down vote icon

so informative

up vote icon down vote icon

Example is really awsome (y)..

up vote icon down vote icon


up vote icon down vote icon

Nice Example!,.. But I need the java code example too.. Can anyone upload java code example for abstraction concept.. Thanks in advance..

up vote icon down vote icon
Name :
Email :
Comment :
Verify Text :
capch image, refresh page if not loaded somehow