به طور کلی Abstraction (به معنای انتزاع)، فرآیند حذف یا از بین بردن برخی ویژگیهای غیرضروری یک چیز بهمنظور کاهش، خلاصهسازی و به کار بردن آن در مجموعهای از ویژگیهای ضروری است.
در برنامهنویسی شیءگرا(OOP)، انتزاع یکی از سه مفهوم اصلی (به همراه مفاهیم Encapsulation و Inheritance) است. در واقع از طریق فرآیند انتزاع، یک برنامهنویس بخشی از اطلاعات غیرضروری مربوط به یک آبجکت(شیئ) را به منظور کاهش پیچیدگی و افزایش کارایی آن پنهان میکند و صرفاً نمادی از آن آبجکت را که حاوی اطلاعات ضروری است، در توسعۀ برنامه مورد استفاده قرار خواهد داد. در هنر نیز گاهی مفهوم انتزاع به کار میرود و شیئی که پس از فرآیند انتزاع باقی میماند یک نماد اصلی از موضوع مدنظر خواهد بود و این در حالی است که جزئیات غیرضروری آن حذف شدهاند.
همچنین خود آبجکت حاصل از فرآیند انتزاع را میتوان به معنای یک Entity (هویت) نام برد؛ این Entity متشکل از یکسری Attribute(صفات) منتخب است و متناسب با نوع بهکارگیری آن در فرآیند توسعه، رفتاری خاص از مجموعۀ رفتارهای منتخب Entity اصلی را خواهد داشت. لازم به ذکر است که انتزاع برای هر دو مفهوم Encapsulation و Data Hiding نیز به کار میرود.همچنین در فرآیند انتزاع، برنامهنویس بایستی اطمینان حاصل کند که هویت یک آبجکت به شیوهای معقول و مناسب نامگذاری شده است، تمام جنبههای مربوط به آبجکت اصلی را شامل میشود و هیچ یک از موارد غیرضروری و فرعی در آن ذکر نشده است.