Encapsulamiento

Una clase se compone tanto de variables (propiedades) como de funciones y procedimientos (métodos). De hecho no se pueden definir variables (ni funciones) fuera de una clase (es decir no hay variables globales).

 Ocultación
Hay una zona oculta al definir la clases (zona privada) que sólo es utilizada por esa clases y por alguna clase relacionada. Hay una zona pública (llamada también interfaz de la clase) que puede ser utilizada por cualquier parte del código.

Ejemplo:

La clase Aula tienen un atributo numérico privado que solo será accesible mediante los procedimientos públicos expuestos, esto en principio no tendría lógica, pero imaginemos que ese atributo solo debe tener valores positivos, si lo dejamos publico cualquier programador que utilice la clase podrá sin mayor problema asignarle un valor negativo.
Con los métodos podremos validar la información ingresada y controlar las posibles ocurrencias o errores, por ejemplo si ingresan un valor negativo al momento de validar la información lo podremos guardar como un cero (0).  


     public void setAlumnos(int valor){
          this.alumnos = (valor < 0) ? 0 : valor;
     }