Java Abstraction Abstraction is the concept of exposing only the required essential characteristics and behavior with respect to a context. Abstraction Layers When we see a nice car on the road as a casual onlooker, we get to see the whole picture. The car as a one single unit, a vehicle. We do not see the underlying complex mechanical engineering. Now consider we are going to a showroom to buy a car. What do we see now? We see four wheels, powerful engine, power steering etc. We see the car at high level components. But, there is so much inside it which gives the completeness to the car. Now consider a mechanic, who is going to service the car. He will see one more level deeper with more level of information. When we design software, we take the context. In the above example, we ask the question whether we are designing the software for a causal on looker or a buyer or a mechanic? Levels of ...