La programación orientada a objetos define programas en términos de objetos, que combinan estado, comportamiento e identidad. Los objetos colaboran entre sí para realizar tareas, lo que hace que los programas sean más fáciles de escribir, mantener y reutilizar. Las clases definen las propiedades y comportamientos de los objetos, los cuales interactúan mediante mensajes que activan sus métodos.