Exercício 4.12 FJ11 terceira questão, método recuperaDadosParaImpressao()

Boa tarde!
Estou com um problema não consigo executar o método recuperaDadosParaImpressão,
segue todas as minhas classes:

1 - CLASSE CONTA:

package br.com.fj11.modelos;

public class Conta {
private Cliente titular;
private int agencia;
private int numeroConta;
private double limite;
private double saldo;
private Data data = new Data();

public Data getData() {
	return data;
}
			
public double calculaRendimento() {
	return this.saldo *= 0.1;
}
public Cliente getTitular() {
	return titular;
}

public void setAgencia(int agencia) {
	this.agencia = agencia;
}

public int getAgencia() {
	return agencia;
}
public double getSaldo() {
	return saldo;
}

public void setNumeroConta(int numeroConta) {
	this.numeroConta = numeroConta;
}

public int getNumeroConta() {
	return numeroConta;
}

public Conta(String nomeTitular, int agencia, int numeroConta) {
	this.titular = new Cliente();
	this.titular.setNome(nomeTitular);
	this.agencia = agencia;
	this.numeroConta = numeroConta;

}

public void saca(double valorSacado) {
	if (this.saldo < valorSacado) {
		System.out.println("Saldo Insuficiente ");
	} else {
		this.saldo -= valorSacado;
		System.out.println("Saque no valor de " + valorSacado + " realizado com sucesso!");
	}

}

public void deposita(double valorDepositado) {
	if (valorDepositado <= 0) {
		System.out.println("Valor indevido ou negativo para depósito!");
	}
	this.saldo += valorDepositado;
	System.out.println("Deposito no valor de " + valorDepositado + " efetuado com sucesso!");
}

public void transfere(Conta destinatario, double valorTransferido) {
	if (this.saldo > 0) {
		this.saldo -= valorTransferido;
		destinatario.saldo += valorTransferido;
		System.out.println("O valor de: " + valorTransferido + " foi transferido para a conta de:\n"
				+ destinatario.titular + ",\n" + destinatario.agencia + "\n" + destinatario.numeroConta);
	}

}
@Override
public String toString() {
	return this.getTitular().getNome() + data.mostraDataAbertura();
}

public String recuperaDadosParaImpressao() {
	String dados = "\nTitular: " + this.titular;
	dados += "\nAgência: " + this.agencia;
	dados += "\nConta: " + this.numeroConta;
	dados += "\nData de Abertura: " + data.mostraDataAbertura();
	
	return dados;
	
}

}

2 - CLASSE CLIENTE:

package br.com.fj11.modelos;

public class Cliente {
private String nome;
private String sobreNome;
private String cpf;
private Endereco endereco;

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getSobreNome() {
	return sobreNome;
}

public void setSobreNome(String sobreNome) {
	this.sobreNome = sobreNome;
}

public String getCpf() {
	return cpf;
}

public void setCpf(String cpf) {
	this.cpf = cpf;
}

public Endereco getEndereco() {
	return endereco;
}

public void setEndereco(Endereco endereco) {
	this.endereco = endereco;
}

}

3 - CLASSE DATA:

package br.com.fj11.modelos;

public class Data {
private int dia;
private int mes;
private int ano;

public void dataAbertura(int dia, int mes, int ano) {

	this.dia = dia;
	this.mes = mes;
	this.ano = ano;

}

public String mostraDataAbertura() {
	return this.dia + "/" + this.mes + "/" + this.ano;

}

}

4 - CLASSE:

package br.com.fj11.testes;

import br.com.fj11.modelos.Cliente;
import br.com.fj11.modelos.Conta;

public class TesteContas {

public static void main(String[] args) {
	Conta renato = new Conta("Renato", 2235, 369800);
	renato.deposita(15000);
	
	renato.recuperaDadosParaImpressao();
}

}

O que pode ser meu povo brasileiro amado e sofrido?

Tem algo a ver com o sobrescrita do método toString e se tiver onde e como o reescrevo?

Resolvido a mil anos atras rsrsrs