CONTROLE DE ACESSO
Nessa aula você irá aprender sobre os controles de acesso do Ruby: public, private e protected. Essa aula tem só o proposito de lhes apresentar esses métodos.
Public(public): Esse tipo de método pode ser chamados por todos — sem forçar o controle de acesso. Métodos da instância da classe (Não pertence a um objeto, do modo em que qualquer instância pode chamar o método public). São públicos por padrão. Somente o método initialize que é privado. Veja abaixo um método público para vocês entenderem:
Protected(protected): Esses tipos de métodos somente podem ser chamados por um objeto da própria classe. O acesso é mantido dentro da "família" da classe. Porém o uso do protected e limitado. Veja abaixo um método protected para vocês entenderem.
Private(private): Esses tipos de método não podem ser chamados por outro receptor. No caso o receptor que pode chamar o método privado é somente a variável da classe(self). O que significa que esses métodos só podem ser chamados apenas no contexto da classe. Você pode chamar métodos privados de um outro objeto. Veja abaixo um exemplo: