Não seria mais interessante ao reescrever os métodos saca e deposita, utilizar os getters e os setters nos métodos para mantermos o encapsulamento em vês de usar o modificador de acesso protected?
exemplo:
public class ContaCorrente extends Conta {
@Override
public void atualiza(double taxa) {
this.setSaldo(this.getSaldo() * (2 * taxa));
}
}
public class ContaPoupanca extends Conta {
@Override
public void atualiza(double taxa) {
this.setSaldo(this.getSaldo() * (3 * taxa));
}
@Override
public void deposita(double valor) {
double taxa = 0.1;
this.setSaldo(this.getSaldo() + valor - taxa);
}
}
`