O que acontece ao imprimir um objeto em java

class Data {
    int a = 5;
}

class Main {
    public static void main(String[] args) {
        int b=5;
        data dObj = new data();
        System.out.println(dObj);
        System.out.println(b);
    }
}

Quero saber o que está acontecendo ao imprimir um objeto ou número ou sequência.

Corri o código acima, estou obtendo o resultado como "data @ 1ae73783" paraSystem.out.println(dObj); e "5" paraSystem.out.println(b);

Então eu fiz a depuração para verificar o que realmente está acontecendo ao imprimir um objeto, havia muitos parâmetros chamados no modo de depuração (como carregador de classe, theards)
Sei que, na primeira impressão, o valor representa o nome da classe seguido pelo endereço. Mas não sei o que realmente está acontecendo no modo de depuração, para a segunda impressão, apenas a atribuição de variável aconteceu no modo de depuração, ou seja, b = 5.

Por favor, explique o que realmente está acontecendo?

questionAnswers(5)

yourAnswerToTheQuestion