¿Qué es POO y por qué Java vive de esto?

La Programación Orientada a Objetos (POO) es una forma de diseñar programas pensando en objetos: entidades que agrupan datos y comportamientos en un solo lugar.

En lugar de escribir un programa como una lista larga de instrucciones sueltas, en POO organizamos el software como si estuviéramos construyendo un mundo con piezas. Cada pieza tiene su información interna y sabe qué puede hacer. Esto hace que el código sea más fácil de entender, mantener y reutilizar.

En Java, esta idea no es opcional: Java fue diseñado desde el inicio para trabajar con objetos. Por eso se dice que Java vive de esto. En la práctica, casi todo lo que haces en Java ocurre dentro de una clase, y casi todo lo que usas es un objeto.


¿Qué es un objeto?

Un objeto es una entidad que tiene:

  • estado, que son sus datos (por ejemplo: “velocidad actual”, “encendido/apagado”, “nombre”, “saldo”, etc.), y
  • comportamiento, que son acciones que puede realizar (por ejemplo: “acelerar”, “encender”, “depositar”, “calcular”, etc.).

Lo importante es que el objeto guarda su estado y controla cómo cambia su estado cuando ejecuta acciones.


¿Qué es una clase?

Una clase es la plantilla (blueprint) con la que se crean objetos.
En esa plantilla definimos qué datos tendrá el objeto y qué acciones podrá realizar.

Gracias a esto, podemos crear muchos objetos del mismo tipo: todos comparten la misma estructura y los mismos comportamientos, pero cada uno puede tener valores distintos en sus datos.


¿Por qué esto es tan útil?

POO ayuda a construir programas grandes sin que se vuelvan un caos, porque promueve tres ideas clave:

La primera es la organización: agrupamos lo que pertenece a lo mismo en una sola unidad (un objeto).
La segunda es la reutilización: una clase bien construida puede usarse muchas veces en distintos programas.
La tercera es el mantenimiento: si algo cambia, no tienes que reescribir todo; modificas la parte correcta y el resto sigue funcionando.

En las próximas secciones vamos a aterrizar esto con ejemplos simples: primero entenderemos con claridad la diferencia entre clases y objetos, y luego aprenderemos a crear ambos en Java.