Como comparar diferença entre atributos em classes genericas

Olá pessoal, estou com a necessidade de comparar o que foi alterado em dois objetos (os dois são iguais) que herdam uma classe em comum. Porém a idéia é fazer algo generico pois tenho algo em torno de 10 classes que precisam disso.

Algo como:

classe pai{

}
classe filho1 extends pai{
	private int atributo1;
	public int getAtributo1(){ return atributo1; }
	public void setAtributo1(int a){ atributo1 = a; }
}
classe filho2 extends pai{
	private int atributo2;
	public int getAtributo2(){ return atributo2; }
	public void setAtributo2(int a){ atributo2 = a; }
}
classe filho3 extends pai{
	private int atributo3;
	public int getAtributo3(){ return atributo3; }
	public void setAtributo3(int a){ atributo3 = a; }
}

Alguém tem alguma idéia de como fazer isso? Eu estou procurando mas não encontro nada pois devo estar procurando de forma errada.

Por acaso não seria Reflection?
http://www.guj.com.br/java.tutorial.artigo.10.1.guj

Muito obrigado, era exatamente isso que eu estava procurando.