Classes and objects are the fundamental components of OOP’s. Often there is confusion between classes and objects.
First, let’s understand what they are.
What is an object-based application?
An object-based Java application is a Java application whose design is based on declaring classes, creating objects from them, and designing interactions between these objects.
What is Class?
A class is an entity that determines how an object will behave and what the object will contain. In other words, it is a blueprint or a set of instruction to build a specific type of object.
What is Object?
An object is nothing but a self-contained component which consists of methods and properties to make a particular type of data useful. Object determines the behavior of the class. When you send a message to an object, you are asking the object to invoke or execute one of its methods.
From a programming point of view, an object can be a data structure, a variable or a function. It has a memory location allocated. The object is designed as class hierarchies.
What is the difference between Object & class?
A class is a blueprint or prototype that defines the variables and the methods (functions) common to all objects of a certain kind.
An object is a specimen of a class. Software objects are often used to model real-world objects you find in everyday life.
For example, picture above shows that with a blueprint of car you can build any specific car as you wish.