What is the essence object-oriented programming? It depends on whom you ask. The long answer is available in the preprint of our recently accepted paper: https://www.computer.org/csdl/magazine/so/5555/01/10896812/24uGD7wCFvG

@wyrich, Johannes C. Hofmeister, @svenapel , and I dared to go down this rabbit hole.

CSDL | IEEE Computer Society

There are classes and objects. Dog, for example, could be a class. Laika, the first dog in space, is an object of the Dog class. Laika has a state and can respond to messages. That’s one perspective to think of object-oriented programmig (OOP). Taking a closer look at prominent definitions of OOP, different people do not necessarily mean the same thing when they talk about it. The example with Laika, the dog, represents only one side of the coin: how OOP is applied.
In our recently accepted IEEE Software article, we took a deep dive into the essence of object-oriented programming through a scoping review of prominent views in both, academic publications and nonacademic sources, such as industry reports and practitioner blogs. Definitions of OOP can generally be divided into two conceptual lines (how and why OOP is applied) and that both together define object-oriented programming.
However, since hardly anyone demonstrates this holistic view when talking about OOP, and differing opinions exist within the two conceptual lines regarding the importance of each component, we have formulated a few recommendations for researchers, educators, and practitioners to move from object disorientation to object orientation.