abstraction یک مفهومه که کلاسهای abstract و interface از این مفهوم پیروی میکنند ؟
abstraction میگه که وقتی میخوای یه برنامه شی گرا رو توسعه بدی بهتره ابتدای کار کلیات چیزی رو که میخوای و قواعد و قوانین رو (بدون در نظر گرفتن جزئیات پیاده سازی) مشخص کنی. عملا یه سری استانداردهای API رو مشخص میکنی بدون اینکه در اون لحظه جزئیات پیاده سازی مهم باشه.
بعد نرم افزار باید بر اساس اون استانداردها توسعه داده بشه. اینجوری نظم زیادی ایجاد میشه تو زیر درخت وراثتی که بوجود میاد.
کلاسهای abstract و interface مکانیزم هایی هستند که ما با استفاده از اونها این قوانین و استانداردها رو ایجاد میکنیم.
جلوتر که توی دوره پیش بریم مثال هایی از استفاده شون رو میبینید و براتون جا میفته.