Por que dois objetos com os mesmos dados não são iguais ao usar o método equals () [duplicate]

Esta pergunta já tem uma resposta aqui:

Por que preciso substituir os métodos equals e hashCode em Jav 28 respostas
public class Account {

    String account;
    double balance;

    Account(String account, double balance) {
        this.account = account;
        this.balance = balance;
    }
}

public class AccountTest {

    public static void main(String[] args) {
        Account a1 = new Account("Sandy", 1000);
        Account a2 = new Account("Sandy", 1000);
        System.out.println(a1.equals(a2));
    }
}

Quando executo, mostrando "false", mas os objetos contêm os mesmos dados em variables.wh

questionAnswers(9)

yourAnswerToTheQuestion