A programação orientada a objetos (OOP) é uma forma de escrever programas de computador que utiliza a idéia de "objetos" para representar dados e métodos. Normalmente, os programas de computador eram apenas uma lista de instruções para o computador, dizendo ao computador para fazer certas coisas de uma certa maneira, o que é chamado de programação procedural. Entretanto, na programação orientada a objetos, os programas de computador fazem uso de objetos que falam uns com os outros e para alterar os dados nesses objetos, para trabalhar de uma forma que o usuário deseja. Além disso, devido à forma como a programação orientada a objetos é projetada, ela ajuda o desenvolvedor permitindo que o código seja facilmente reutilizado por outras partes do programa ou mesmo por outras pessoas.
A maioria das linguagens de programação é uma mistura de diferentes tipos de formas de escrever programas de computador. Por exemplo, Python permite que os programas de computador sejam escritos tanto na programação orientada a objetos quanto na programação de procedimentos. Há muitas linguagens de programação que permitem escrever programas de computador no OOP, algumas dessas linguagens de programação são, por exemplo: C++, Java, Ruby, Perl, Emarald, Sapphire, PHP, Python, etc.