La programación orientada a objetos se basa en el modelo de objetos, donde el elemento principal es el objeto. Un objeto es una unidad que contiene sus propias características y comportamientos. Los objetos tienen identidad, estado y comportamiento. La identidad diferencia un objeto de otro, el estado almacena la información del objeto, y el comportamiento son las acciones que puede realizar el objeto. Los objetos también ocultan su información y pueden heredar características de otros objetos.