métodos get para recuperar valores de muitas variáveis

Pessoal, tenho uma classe com algumas DEZENAS de variáveis… hehehe… pois é, são muitas! O que acontece eh que quero fazer um método para acessar o valor das mesmas. Bom, eu conheço dois modos de fazer isso, porém não gostaria de aplicar nenhum deles. Um dos modos, seria criar um método get para retornar o valor de cada variável. Mas isso faria com que tivéssemos muitos métodos. Outro modo, seria um único método, onde passaria o nome da variável como argumento, e faria um modo de retornar. Um modo seria construir uma cascata de if´s, de modo que para cada strign de argumento, retorne o valor da variável correspondente. Mas acho que assim também ficaria muito arcaico.
O que eu pensei, era fazer algo parecido com o segundo modo que eu descrevi, mas ao invés de fazer a sequencia de if´s, tentar de algum modo relacionar a string com o nome da variável, com a própria variável. Conseguiram entender?
por exemplo, como fariamos um método para retornar uma variável:

public Strign getNome(){ return nome; } private String nome;

Esse método retornaria o valor da variável nome.

Mas e se tivéssemos muitas variáveis? Teria que criar um get para cada uma? É justamente disso que quero fugir. Pensei em faze algo do gênero:

public String getValor(String nomeVariavel){ return nomeVariavel } private String nome; private String endereco; private String cidade;

O codigo acima realmente não vai funcionar, pois vai sempre retorar o argumento que foi passado, mas conseguiram entender mais ou menos a ideia? Queria que ao passar a string “nome” como argumento, retorna-se o valor da variávle nome, que ao passar a string “endereco” como argumento, retorna-se o valor da variávle endereco, e assim por diante.

Alguém tem alguma idéia???

bem, eu sou contra a sua idéia, mas, vc pode ter um HasMap na sua classe, q tivesse essas variaveis, e ai, era só passar a chave q tu quer, por ex:

[code]
class C {

HasMap map;

public C() {

  map = new HashMap();
  map.put( "nome", "" );
  map.put( "enredeco", "" );
  map.put( "cidade", "" );

}

public Object getValue( String key ) {

  return map.get( key );

}
}[/code]

o problema dessa abordagem é q, tu tem q tratar o tipo de objeto com um casting sempre… em algum lugar, ou, ter q passar o tipo do objeto pro metodo tb…

será que via reflection não daria pra fazer isso?

de qq forma, acho que o melhor método seriam getters e setters para cada membro, mesmo q sejam mtos. O eclipse, por exemplo, gera esses metodos automaticamente pra vc