A Programação Orientada a Objetos (POO, para os íntimos) não é uma linguagem de programação, não é uma plataforma de programação, não é um tipo de programa, é um paradigma de programação. A grosso modo, é um jeito de programar representando o que existe no mundo real: objetos, que possuem características e ações.
Atualmente, a maioria das tecnologias utilizadas no mercado usa os conceitos de POO, tais como: Java, C#.NET, VB.NET, JavaScript, Python, PHP, entre outras. E não é só por isso que você deve aprender POO, mas também porque hoje as empresas utilizam diferentes frameworks (por exemplo: Spring, Hibernate, Struts, etc.) para conseguirem acelerar o desenvolvimento de software, e esses frameworks são construídos com os conceitos de Programação Orientada a Objetos.
Se você está aprendendo Java no curso técnico ou na faculdade e está ficando traumatizado, o principal motivo do seu trauma é que estão faltando os conceitos de POO.
Essa “dor” é maior para quem vem de outros paradigmas de programação como programação estruturada. Muitas vezes tenta-se aplicar conceitos de paradigmas antigos (como variáveis globais, por exemplo) e o código que era para ser orientado a objetos, bonitinho, fica uma mistura de um pouquinho de POO com um monte de “funções” empacotadas em classes.
Ah se o mundo soubesse o poder de programar utilizando os conceitos corretos de POO somado a Design Patterns.
Fonte: http://www.dicasdeprogramacao.com.br/programacao-orientada-objetos-por-que-aprender-isso/