There are so many definitions of OOP out there, varying between different books, documentation and articles.
What really defines OOP?
There aren’t really that many definitions for OOP; it’s a very consolidated paradigm. This is a short but comprehensive guide: https://www.baeldung.com/java-oop
It’s simply not true that there “aren’t really that many definitions of OOP”, much less that the guide you’ve linked is “comprehensive” when it is specifically about Java.
This is a good, brief post about the different conflicting definitions: https://paulgraham.com/reesoo.html
This is a much more comprehensive but also less focused overview, with many links, from a site that is effectively both a wiki and a forum: https://wiki.c2.com/?ReesOnObjectOrientedFeatures