Se você tem o to string , qual é a necessidade do getters ?Para mim não precisa .
O método toString() tem por função representar um objeto por meio de uma String e não retornar um valor de um atributo de um objeto ou o valor de um campo. Nesse último caso, deve-se utilizar um método de recuperação (get). Veja o que informa a documentação do Java:
public String toString() - Retorna uma representação de string do objeto. Em geral, o método
toStringretorna uma string que “representa textualmente” esse objeto. O resultado deve ser uma representação concisa, mas informativa, que seja fácil para uma pessoa ler. Recomenda-se que todas as subclasses substituam esse método.
Entendi, mas dependendo do exercício ele não vai precisar do getter não é ?
Eu o uso para desempenhar a função para o qual foi escrito: representar textualmente o valor de um objeto.
Ontem na prova , eu deixei de fazer, acho que vou perder pontos por causa disso
Pra métodos mais simples, você não nota a diferença e acha que não precisa. Mas se você for usar um webservice, por exemplo, você vê que é meio que obrigatório.
Mas como no seu caso você disse que é uma prova, isso depende de diversos fatores:
- O professor pediu?
- Estava na questão da prova usar Getter e Setter?
- O professor é flexível à mudanças nos projetos?
Respondendo a sua pergunta:
Se você fizer um
setNome("Nivaldo");,
como você vai recuperar?
Usando
nome.toString()??
Uma coisa importante a se considerar é a semantica do código.
Independente da simplicidade de suas classes, é esperado por qualquer desenvolvedor Java que o método toString() trará a representação textual do objeto (como o @Jothar_Aleksander já disse) e um getString() traria o valor, possivelmente, setado por um setString().
Então acho bom, por mais que seja repetido, deixar os 2 método (toString e getString) por uma questão de que o significado deles é diferente. E por mais que o retorno de ambos seja igual neste momento, não há garantias de que o software evolua e o toString passe a retornar um valor complementamente diferente do getString.
Nao sei exatamente o que o professor te pediu, mas na prática se nao for usar toString() entao nao precisa sobrescrever toString().
Então não implementa. 
Parece uma resposta grosseira, mas essa é a realidade.
Se você percebe que suas classes possuem algum código que de fato você não precisa, então pra que implementar?
O toString() é um método “especial” para trazer a representação de um objeto na forma de texto.
A implementação padrão, aquela implementada na classe Object, do toString() retorna um objeto String com o seguinte conteúdo:
<nome-da-classe> + '@' + <hashcode-em-hexadecimal>
Por isso é comum sobrescrever o toString() para trazer uma representação textual mais amigável, principalmente para quem depura código utilizando IDE’s, pois agiliza a inspeção de variáveis.
Vale lembrar que o método toString() é chamado implicitamente quando utilizado em concatenações de String ou quando utilizado em métodos como o print, println ou printf.