Paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de sistemas de cómputo. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento.