Simply put
An object is an instance of a class.
OR
A class is a blueprint/construct that encapsulates a group of variables and methods while an object acts as a member of that class.
If that is not enough…
Class definition according to the documentation
- Class
- Classes provide a means of bundling data and functionality together (encapsulation!). Creating a new class creates a new type of object, allowing new instances of that type to be made. Each class instance can have attributes attached to it for maintaining its state. Class instances can also have methods (defined by its class) for modifying its state.
Now let's compare class and object.
Class
- A blueprint, from which you can create an instance
- Used to bind data and methods as a single unit
- An undefined class does not require memory allocation.
- Needs to be declared only once
Object
- An instance of a class (blueprint)
- Acts like a variable of the class
- Requires memory allocation
- Can be declared more than once
Last thing
Almost everything is an object.