بخاطر اینکه toString متد کلاس پدرشه (کلاس Object) که همه کلاس ها از اون به طور اتوماتیک به ارث میبرن. و به طور پیش فرض کارش این هست که آدرس حافظه شی رو چاپ میکنه.
پس اون متد toString در واقع override متد toString کلاس Object هست که وقتی اسمش رو عوض کردی دیگه فراخوانی نمیشه و همون toString کلاس Object صدا زده میشه.