(Não consigo resolver) Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. - JAVA

Estou aprendendo JAVA e fazendo alguns exercícios de fixação, porém travei nesse e não estou conseguindo fazê-lo.
Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa. - JAVA

declarando os atributos. Altura deve ser um número real, e acredito que nome e data serão String.
ex:

private String nome;
private double altura;

//declarando os atributos privados nome e altura.

Os setters e Getters funcionam assim: Os Setters definem o valor do atributo, e os Getters informam a quem está usando

Você pode fazer por exemplo assim:

private double altura;
public void setAltura(double altura){ //não necessariamente precisa ter o mesmo nome do atributo declarado
     this.altura = altura //this.atributo se refere ao atributo daquele objeto.
}
public double getAltura(){ //public double pois retorna um valor double
return this.altura;
}

para fazer o calculo de idade, podemos utilizar vários métodos, mas o que eu pensei (provavelmente não será o mais eficiente) seria por ex:

uma data de nascimento normal é DD/MM/AAAA (por ex “01/01/2001”)
podemos ver que os 2 primeiros caracteres(0 e 1) (caractere 0 = 0, caractere 1 = 1, caractere 2 = /,…) são o dia. o 4 e 5(3 e 4) serão o mes, e do 7 ao 10 (6 ao 9) será o ano. você pode tentar fazer uma comparação.

você pode usar o método “charAt(posição)” para obter um caractere da posição.
ex:

String StringDataDeNascimento = "29/05/2019";
String aux = String.valueOf(StringDataDeNascimento.charAt(6) +""+ 
StringDataDeNascimento.charAt(7) +""+ StringDataDeNascimento.charAt(8) +""+ 
StringDataDeNascimento.charAt(9)); //Recebe os valores nas posições 6,7,8,9 do string data
int Ano = Integer.parseInt(aux); //converte a string para int

após isso, para calcular a idade, você pega o ano atual (2019, por ex) (existem métodos que pegam a data atual no sistema) e subtrai a data de nascimento
ex: nasci em 01/01/2000
o código extrairá o numero 2000
então, posso fazer:

int idade = 2019 - anoDeNascimento; //que no caso vale 2000, resultando em 19

você pode fazer a verificação de mês e dia também, por ex. se meu aniversário é em dezembro, mas estamos em maio, então não devo contar esse ano (no exemplo acima resultaria 19 -1 = 18
pode fazer por ex:

int mes = (o mesmo que fiz pra ano, nas posições 3 e 4 da data);
int mesatual = 5; //maio
if(mes > mesatual){
     idade--;
}

caso algo esteja errado, me corrijam por favor!