Este documento discute os conceitos fundamentais da programação orientada a objetos, incluindo paradigmas de programação, surgimento da POO, seus princípios e características como abstração, herança, polimorfismo e encapsulamento. Exemplos em C++ ilustram como esses conceitos são implementados na prática.