OOP is often called a paradigm rather than a style or type of programming to emphasize the point that OOP can change the way software is developed, by changing the way that programmers and software engineers think about software.
The paradigm of OOP is essentially not that of programming, but one of design, a system is designed by defining the objects that will exist in that system, the code which actually does the work is irrelevant to the object, or the people using the object due to encapsulation. The challenge in OOP therefore is of designing a sane object system.
Bookmarks