# Programación Orientada a Objetos en Ruby

La Programación Orientada por Objetos (POO) es un paradigma de la programación que se popularizó en los años 80's gracias a un lenguaje de programación llamado [Smalltalk](https://es.wikipedia.org/wiki/Smalltalk) que inventó [Alan Kay](https://es.wikipedia.org/wiki/Alan_Kay) mientras trabajaba en [PARC](https://es.wikipedia.org/wiki/Xerox_PARC), el centro de investigación de Xerox en Palo Alto, California, el mismo lugar donde se inventaron el mouse, la interfaz gráfica y la impresora a laser, entre otros.

Ruby hace amplio uso de la POO y seguramente ya estás utilizando este paradigma, aunque es posible que aún no sepas de qué forma. El objetivo de esta sección es precisamente explicarte los conceptos detrás de la POO, cómo se aplican en Ruby, y cómo los puedes aplicar a tus propias aplicaciones.

## Prerequisitos

* [Ruby](ruby)

## Contenido

* [Clases y objetos](programacion-orientada-a-objetos-en-ruby/clases-y-objetos)
* [Métodos y atributos de clase](programacion-orientada-a-objetos-en-ruby/metodos-y-atributos-de-clase)
* [Herencia](programacion-orientada-a-objetos-en-ruby/herencia)
* [Módulos](programacion-orientada-a-objetos-en-ruby/modulos)
* [Excepciones](programacion-orientada-a-objetos-en-ruby/excepciones)
