La programación orientada a objetos (POO) es un paradigma que utiliza objetos y sus interacciones para diseñar programas, diferenciándose de la programación estructurada al adaptarse al pensamiento humano. Incluye conceptos fundamentales como clases, objetos, encapsulamiento y herencia, y se basa en principios como abstracción, modularidad y polimorfismo. Lenguajes como Java, C++, y Python adoptan este enfoque para facilitar la creación y mantenimiento de software complejo.