Abstraction is a part of Object oriented programming process which is used to manage the complexity of a system. In this process, each element is considered as an object having a specific purpose and the overall program is a collection of objects. Abstraction is managed by hierarchical classifications. By this a large program can be broken down in to smaller programs which are interconnected to one another. For Example, a computer has many components, CPU, monitor, keyboard, mouse, router, speakers, UPS system, cd and dvd drives, etc. Now, all these systems are connected to one and the person who uses them uses the system as a whole. He could use a mouse and the speaker at the same time. Also, a CPU has many components, say RAM, motherboard, and other components. To understand the complexity of a computer system, the concept of hierarchical abstraction could be used.