Nesse exemplo não nota-se nenhuma vantagem em dizer que o método getSaldo é private.
Mas vc deve entender qual o maior benefício de dizer que um método é private mesmo que ele não possa ser visto de outras classes.
Vc pode tornar todos os métodos que não fazem parte da API ou “interface” da sua classe. Isto é… sua classe possui métodos públicos que são os serviços que a classe oferece… Porém, as vezes podemos encontrar métodos que tem uma lógica muito complexa e preferimos modularizar, dividindo esse método em métodos menores, para aumentar a coesão entre os métodos.
Esses pequenos métodos, então, são irrelevantes para quem acessa a sua classe, pois para eles não importa os detalhes de um método escrito apenas para auxiliar na execução de um método com maior utilidade.
Em um exemplo, para ficar mais claro:
Se o seu método getSaldo() precisasse fazer alguns cálculos muito complexos de impostos e dar algum desconto baseado em uma taxa fixa. Vc poderia criar um método calculaImpostos() e um método efetuaDesconto() para dividir os propósitos do método getSaldo() em métodos específicos com uma finalidade só.
um trecho do seu código ficaria mais ou menos assim:
//...mais código...
//Note que apenas esse método public, pois a intenção da sua classe
seria apenas informar o saldo. Quem usa a classe não precisa saber que, por trás de tudo, está sendo
calculado imposto, nem efetuado algum desconto
public double getSaldo(){
this.calculaImpostos();
this.efetuaDesconto();
return this.saldo;
}
//Note que, como o método é private, quem usa a classe a partir de outra classe sequer sabe que está sendo feito algum cálculo auxiliar
private void calculaImpostos(){
//faz algum calculo que atualiza o valor do atributo saldo.
}
//Note que, como o método é private, quem usa a classe a partir de outra classe sequer sabe que está sendo feito algum cálculo auxiliar
private void efetuaDesconto(){
//faz algum calculo que atualiza o valor do atributo saldo.
}
//...mais código...
Isso foi apenas um exemplo simples, bem intuitivo. Mas na prática, existem vários casos mais complexos, onde encapsular métodos tornando-os private tem vantagens muito significativas.
[]'s