با سلام. بایدی در کار نیست.
1- در این صورت equals در صورتی true خواهد بود که هر دو آبجکت دقیقا یک آبجکت باشند. اما در صورتی که override کنید میتونید برابری رو هر جور که میخواید تعریف کنید. برای toString هم اسم کلاس @ و یه شماره هست که فکر میکنم آی دی اون آبجکت باشه.
2- باید بدونید فواید override چی هست در کل. مثلا اگر متد toString در Object وجود نداشت، هر کلاسی ممکنه این متد رو پیاده سازی نکنه و در این صورت System.out.println(obj) خطا خواهد داد. اما وقتی یک کلاسی از یک پرنت ارث میبره آبجکت اون کلاس همه جا میتونه جای اون پرنت بشینه و نگرانی بابت این موضوع نداریم. این کار حتی باعث میشه برنامه هامون خیلی جمع و جورتر بشن و لازم نباشه برای انواع کلاس ها مثلا System.out.println جداگانه تعریف کنیم.