- Work with "real-life" entities in your code
- Model your program to real-world concepts
- You can split your code to human understandable objects
- Blueprint of the object
- they define the structure of the object
- an object then is called an instance of a class
- classes make it easier to create multiple objects compared to doing it via object literal way