Programación orientada a objetos
Una forma de organizar el código en objetos que agrupan datos y comportamiento, usando clases, herencia e interfaces.
La POO organiza el programa alrededor de objetos que representan cosas (un pedido, un usuario, una factura). Cada objeto guarda sus datos y ofrece métodos para trabajar con ellos.
Sus ideas principales son la encapsulación (ocultar los detalles internos), la herencia (reutilizar una clase en otra) y el polimorfismo (tratar igual objetos distintos que cumplen la misma interfaz). Java, C#, C++, Python o Kotlin la usan mucho.
Un ejemplo
En una tienda, la clase Pedido sabe calcular su total y la clase Factura sabe imprimirse; el resto del programa solo usa esos métodos.