چون فرض بر اینه که شما تنها اسم تابعها رو دریافت میکنید و هیچ اطلاعات دیگهای از روند کار اون کلاس ندارید. هر کلاس ممکنه توسط فرد یا گروهی متفاوت طراحی بشه. همزمان میتونه موضوعات دیگهای مطرح بشه مثل اینکه ممکنه نیاز باشه با تغییر این متغیر، متغیر دیگهای هم تغییر بکنه و یا ممکنه شما چندین Thread داشته باشید و برای جلوگیری از Data race و شرایطی خاص، بخواید با هر خوندن یا تغییر، کاری در کنار اون انجام بشه که در اکثر مواقع نیازمند یک تابع مجزا خواهد بود.
البته در پروژههای کوچیک عموما شیگرایی تنها سرعت توسعه و نرمافزار رو بدون اینکه سودی برسونه پایین میاره. یاد گرفتن شیگرایی بسیار خوبه و پیشنهاد میکنم بهش تسلط پیدا بکنید، ولی خیلی خوبه که دقیقا بدونید چرا خوبه و کجا باید ازش استفاده بکنید.
یکی از دلایلی که علاقهای به جاوا ندارم، اجبار کاربر به استفاده از شیگرایی هستش
و البته این یکی از دلایل محبوبیت جاوا توی جوامع دانشگاهی هست، چون اکثرا برای آموزش شیگرایی سراغ جاوا میرن و دانشجوها به استفاده از همون برای کارهاشون ادامه میدن.