Closures - emulando variables y métodos privados

Lenguajes como Java proveen la habilidad de declarar variables o métodos privados, lo que significa que sólo son visibles para miembros de la misma clase.

JavaScript no provee una manera nativa de hacer esto, pero es posible de emular miembros privados utilizando Closures.

Los miembros privados no sólo son útiles para restringir el acceso a código, sino también proveen una manera de manejar el namespace global, manteniendo métodos no escenciales fuera de ensuciar la interfaz pública de tu código.

Código