Objects have attributes (data) that contain the object’s state.
Methods that control access (change or view) the object’s state.
Objects can be extended using a technique called inheritance.
There are others, but those are the three main things that people remember about their first introduction to object-oriented programming.
Most people fixate on that last one: object extension by inheritance. That’s true in a lot of cases, but there are ways that objects can ...