In a similar fashion, object-oriented programs can be examined at various different levels of abstraction. In fact, there are more levels in an OO program than in a program created in a conventional fashion. These increased levels of abstraction are part of what characterizes OO programs.
For example, at the highest level of abstraction, we view an object-oriented program as a community of interacting objects. Each member of the community is providing a service that is being used by other members of the community. At this level of abstraction, the important features are the lines of communication between the various agents, the structure of their interactions.