Abstraction may be defined as all those essential characteristics features of an object class which makes it different from other object classes.

Abstraction as applied to inheritance refers to the specific features defined for each subclass in the class hierarchy. Such a representation of the object class including only its essential attributes and operations, leaving behind all the unnecessary details and implementation details helps to develop a good object model for OO Design. Another great advantage of applying object class abstraction, which abstracts those essential features of the sub classes in the class hierarchy according to the object model developed could be used as an important tool for information exchange between the user, analyst, designer and programmer.