En la programación orientada a objetos, un objeto es la instancia de una clase y representa la unidad básica que realiza tareas en un programa. Una clase define el estado y comportamiento común que comparten todos los objetos de ese tipo y sirve como plantilla para crear objetos. Los objetos interactúan entre sí mediante el envío y recepción de mensajes de forma similar a servicios, a diferencia de programas tradicionales que consisten en una colección de subrutinas.