Onde e quando eu deveria instanciar o objeto Data nesse exemplo?

Saudações camaradas programadores!
Onde eu deveria instanciar um objeto de Data nesse exemplo?

Na verdade, como saber exatamente quando instanciar um objeto de uma classe?

package Conta;
import Conta.Data;
public class Conta {
// Atributos
private String titular;
private int numero;
private String agencia;
private Data dataAbertura;
protected double saldo;

// Metodos
// Deposito saque e transferencia
public void depositar(double valor) {
	if (valor > 0) {
		this.saldo += valor;
	}
}
public void sacar(double valor) {
	if (valor <= this.saldo) {
		double novoSaldo = this.saldo - valor;
		this.saldo = novoSaldo;
	}
}
public void transferePara(Conta conta, double valor) {
		this.sacar(valor);
		conta.depositar(valor);
}

// Metodos de retorno para o usuario
public double calculaRendimento() {
	return (this.saldo * 0.1);
}

// Getters e setters
public double getSaldo() {
	return this.saldo;
}	
public int getNumero() {
	return numero;
}
public void setNumero(int numero) {
	this.numero = numero;
}

// Seta ou pega a agência para o usuario
public String getAgencia() {
	return this.agencia;
}
public void setAgencia(String agencia) {
	this.agencia = agencia;
}

// Get e set do nome do titular
public String getTitular() {
	return titular;
}
public void setTitular(String nomeTitular) {
	this.titular = nomeTitular;
}

//Modifica e seta datas
public void setData(int dia, int mes, int ano) {
	
	dataAbertura.dia = dia;
	dataAbertura.mes = mes;
	dataAbertura.ano = ano;
};
public String getData() {
	String dataFormatada;
	String dia = Integer.toString(dataAbertura.dia);
	String mes = Integer.toString(dataAbertura.mes);
	String ano = Integer.toString(dataAbertura.ano);
	
	dataFormatada = dia + " " + mes + " " + ano;
	
	return dataFormatada;
}

}

A classe conta corrente

package Conta;

public class ContaCorrente extends Conta{
	public String getTipo() {
		return  "Conta Corrente";
	}
	
	@Override
	public void sacar(double valor) {
		super.sacar(valor + 0.10);
	}
}

A classe Data

package Conta;

public class Data {
	int dia;
	int mes;
	int ano;
	
	public int getDia() {
		return dia;
	}
	public void setDia(int dia) {
		this.dia = dia;
	}
	public int getMes() {
		return mes;
	}
	public void setMes(int mes) {
		this.mes = mes;
	}
	public int getAno() {
		return ano;
	}
	public void setAno(int ano) {
		this.ano = ano;
	}
}

Depende do momento em que você precisa do objeto.

Num tive pra responder esses ultimos dias hehe,

Mas como eu entendo que é o momento de instânciar um objeto? quando eu vou ter que manipular ele pra gravar ele no banco de dados, quando eu preciso usar alguma função da classe? Eu fiquei mais confuso com relação a isso

Isso vai depender da interpretação do problema que você está resolvendo.

No seu exemplo a variável Data se chama dataAbertura, então imagino que você deve inicializar ela no momento em que a Conta for aberta.