سلام و خسته نباشد
در اصل کپسوله سازی من میدونم که بعضی رفتارها نیاز نیس در خارج از شی در دسترس باشه مثلا وقتی یکی میخواد از دستگاه خودپرداز پول بگیره نیاز نداره به متدهای مختلفی که در پس زمینه صدا زده میشن تا پول نقد از خودپرداز بیاد بیرون دسترسی داشته باشه و صرفا متدهایی که کاربر برای کارکردن با دستگاه خود پرداز بهشون نیاز داره در اختیارش قرار میدیم
حالا سوال من اینه که چرا propertyهای شی رو باید پنهان کنیم؟ آیا دلیل پنهان کردن propertyها هم مثل متد هاست ؟ یا برای محافظت از داده هامون باید اینکارو انجام بدیم؟
درواقع این اصطلاح رو که برای محافظت از دادهمون میاییم propertyهای کلاس رو private تعریف میکنم رو درک نمیکنم
یا بهتره اینطوری سوالمو بیان کنم چه چیزی دادههای مارو تهدید میکنه که باید داده هامونو ازش پنهان کنیم ؟ دسترسی غیر مجاز به یک property به چه شکل میتونه باشه؟