La programación orientada a objetos se basa en la idea de un mundo lleno de objetos. El elemento fundamental es el objeto, que se define a través de clases que actúan como plantillas para crear objetos con atributos y métodos. Las clases describen la identidad, comportamiento y estado de los objetos. Los pilares de la POO son la abstracción, encapsulamiento, herencia y polimorfismo.