An object is, in essence, a piece of memory and a set of methods to interact with that memory. Generally, one is only allowed to interact with that memory via the object’s methods. This allows the implementation of an object to change drastically without affecting code which uses it.
ObjectOrientedProgramming is using the idea of AnObject to make programming large projects much more scalable and efficient, and ideally to make programming small projects more fun.
There are many pages describing aspects of ObjectOrientedProgramming: [Topic]