OOP
La programación orientada a objetos organiza el código en objetos que combinan datos y comportamiento.
Su utilidad no está en crear clases por defecto, sino en modelar conceptos con responsabilidades claras y proteger invariantes.
Ideas útiles
- Encapsulación: esconder detalles internos.
- Polimorfismo: usar diferentes implementaciones bajo una misma interfaz.
- Composición: construir comportamiento combinando piezas pequeñas.
- Invariantes: reglas que el objeto mantiene siempre válidas.