There are so many definitions of OOP out there, varying between different books, documentation and articles.

What really defines OOP?