From Meaning of "Object-Oriented Programming" According to Dr. Alan Kay:
OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.
This was written in 2003, long after the creation of C++ or Java.