What is the difference between a Class and an Object ?

A class is a concept used in object oriented programming languages such as C++, PHP, and JAVA etc. Apart from holding data, a class is also used to hold functions.

An object is an instant of a class. A class can hold data and/or functions.

The term ‘class’ refers to the actual written piece of code which is used to define the behavior of any given class. So, a class is a static piece of code that consists of attributes which don’t change during the execution of a program – like the method definitions within a class.

The term ‘object’, however, refers to an actual instance of a class. Every object must belong to a class. Objects are created and eventually destroyed – so they only live in the program for a limited time. While objects are ‘living’ their properties may also be changed significantly.

Objects have a lifespan but classes do not

Class is a general concept (like an Animal), an object is a very specific embodiment of that class, with a limited lifespan (like a lion, cat, or a zebra). Another way of thinking about the difference between a class and an object is that a class provides a template for something more specific that the programmer has to define, which he/she will do when creating an object of that class.

Class is a template. When a class is declared, there is no memory allocation but when the object of that class is declared, memory is allocated.

The keyword “class” is used to declare a class.

An object is dependent upon a class as it can be created only if the class is already declared. Therefore an object is referred to as instance of a class. Objects and classes are related to each other.

Class is declared using class keyword
e.g. class Student{}

Object is created through new keyword mainly e.g.
Student s1=new Student();

Class is declared once.Class doesn't allocate memory when it is created.
Object is created many times as per requirement. Object allocates memory when it is created.

An object is defined as any entity that can be used. Object can be a variable, value, data structure or a function/method. In real world, the objects are your Car, Bus, Table etc.

Class is a blueprint or template from which objects are created. Class is a group of similar objects.
Class is a logical entity.

Class is blueprint means you can create different object based on one class which varies in there property. e.g. if
Car is a class than Mercedes, BMW or Audi can be considered as object because they are essentially a car but have different size, shape, color and feature.

Object is an instance of a class. Object is a real world entity such as pen, laptop, mobile, bed, keyboard, mouse, chair etc.Object is a physical entity.

Encapsulation : Methods are used to access the objects of a class. All the interaction is done through the object’s methods. This is known as data encapsulation. The objects are also used for data or code hiding.

Class  is Type, Object is Variable.

Class in Java contains both state and behavior, state is represented by field in class e.g.numberOfGears, whether car is automatic or manual, car is running or stopped etc. On the other hand behavior is controlled by functions, also known as methods in Java e.g. start() will change state of car from stopped to started or running and stop()will do opposite.


A class is nothing but a blueprint or a template for creating different objects which defines its properties and behaviors. Java class objects exhibit the properties and behaviors defined by its class. A class can contain fields and methods to describe the behavior of an object.

Class − A class can be defined as a template/blueprint that describes the behavior/state that the object of its type support.

Object − Objects have states and behaviors. Example: A dog has states - color, name, breed as well as behaviors – wagging the tail, barking, eating. An object is an instance of a class.

Class is a definition, while object is a instance of the class created. Class is a blue print while objects are actual objects existing in real world. Example we have class CAR which has attributes and methods like Speed, Brakes, Type of Car etc.

In object-oriented programming , a class is a template definition of the method s and variable s in a particular kind of object . Thus, an object is a specific instance of a class; it contains real values instead of variables. The class is one of the defining ideas of object-oriented programming.

In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).