In programming, an 'Object' refers to a self-contained unit that encapsulates data and the procedures known as methods that operate on that data. This encapsulation allows objects to model real-world entities by combining data (which can be represented by properties and attributes) with functionality, providing a structured approach to programming. An 'Array' is a collection of similar data types, but it does not encapsulate methods. A 'Class' defines a type of object, specifying what data and methods it will contain, but it is not the object itself. A 'Variable' is simply a storage location that holds data which can be manipulated by the program.