En POO los objetos son miembros de clases. En esencia, una clase es un tipo de datos al igual que cualquier otro tipo de dato definido en un lenguaje de programación.
La diferencia reside en que la clase es un tipo de dato que contiene datos y funciones.
Una clase contiene muchos objetos y es preciso definirla, aunque su definición no implica creación de objetos.
Una clase es, por consiguiente, una descripción de un número de objetos similares. Madonna, Sting, Prince, Juanes, Carlos Vives o Juan Luis Guerra son miembros u objetos de la clase “músicos de rock”.
Un objeto concreto, Juanes o Carlos Vives, son instancias de la clase «músicos de rock».
En C++ una clase es una estructura de dato o tipo de dato que contiene funciones (métodos) como miembros y datos.
Una clase es una descripción general de un conjunto de objetos similares.
Por definición todos los objetos de una clase comparten los mismos atributos (datos) y las mismas operaciones (métodos).
Una clase encapsula las abstracciones de datos y operaciones necesarias para describir una entidad u objeto del mundo real.
Una clase se representa en UML mediante un rectángulo que contiene en una banda con el nombre de la clase y opcionalmente otras dos bandas con el nombre de sus atributos y de sus operaciones o métodos.