La programación orientada a objetos (POO) es un paradigma que se centra en identificar entidades y sus características para resolver problemas mediante software. Un objeto es cualquier cosa que puede ser conceptualizada y una clase actúa como un molde para esos objetos, definiendo sus propiedades y comportamientos. Los principios clave de la POO incluyen modularidad, reusabilidad, y conceptos como abstracción, encapsulamiento, herencia y polimorfismo.