Sobrescrever um metodo sem usar metodos acessores

Olá, eu tenho um exercicício onde preciso criar uma classe “Programador” que herde uma classe “Pessoa”, adicionar um atributo “linguagem”, iniciar ele em um construtor e sobrescrever o método “showInfo()” adicionado um atributo que só existe na classe programador. Eu não consigo modificar a classe Pessoa para adicionar métodos get e não consigo compilar o código porque os atributos nome e idade são privados, como eu resolvo isso?

class Pessoa {
private String nome;
private int idade;

public Pessoa(String nome, int idade) {
    this.nome = nome;
    this.idade = idade;
}

public void showInfo() {
    System.out.println(nome);
    System.out.println(idade);
}

}

class Programador extends Pessoa {

private String linguagem;

public Programador(String nome, int idade, String linguagem){
    super(nome, idade);
    this.linguagem = linguagem;
}

@Override
public void showInfo(){
    System.out.println(nome);
    System.out.println(idade);
    System.out.println(linguagem);
    
}

}

Do mesmo jeito que você chamou a classe base (também chamada de super-classe) no construtor, chame ela no showInfo() para usar a implementação herdada para mostrar nome e idade.

https://docs.oracle.com/javase/tutorial/java/IandI/super.html

nossa muito obrigada, eu não fazia nem ideia de como pesquisar isso.