La programación orientada a objetos modela el mundo real usando objetos que encapsulan estado y comportamiento. Un objeto representa un ente del mundo real y contiene atributos y métodos. Los objetos se organizan en clases que definen sus propiedades comunes. La herencia permite extender y reutilizar clases existentes.