Abstraction एक तरह का सामान्य अवधारणा या विचार होता है, कुछ ठोस की जगह में. कंप्यूटर साइंस के हिसाब से भी, अब्स्ट्रक्शन की वही समान रूप की परिभाषा होती है. यह एक सरल रूप होता है किसी तकनिकी चीज़ की जैसे की किसी प्रोग्राम की कोई फंक्शन या ऑब्जेक्ट. “अब्स्ट्रक्शन” का लक्ष्य ही है की जटिलता को कम करना होता है.
किसी स्तर पर, हम सभी कंप्यूटर को abstract टर्म्स में ही सोचते हैं. जब हम वर्ड प्रोसेसर में कोई डॉक्यूमेंट टाइप करते हैं, तब हम ये नहीं सोचते हैं की कैसे सीपियु टाइप की गयी प्रत्येक अक्षर को कैसे प्रोसेस करती है और साथ में ये भी नहीं सोचते है की जो हम टाइप करते हैं वो डाटा मेमोरी में सेव कैसे किया जा रहा है.
जब भी हम कोई वेबपेज देखते हैं, तब हम ये नहीं सोचते है की कैसे बाइनरी डाटा इंटरनेट पर स्थानांतरित किया जा रहा होता है और कैसे उन्हें प्रोसेस किया जा रहा है और वेब ब्राउज़र द्वारा कैसे संसाधित एवं प्रस्तुत किया जा रहा है. इन सभी चीज़ों के विषय में हम नहीं सोचते हैं. हम बस अपने दस्तावेज़ को टाइप करते हैं और वेब ब्राउज़ करते हैं. इसी तरह से हम स्वाभाविक रूप से कंप्यूटिंग अवधारणाओं को ऑब्स्ट्रक्टिंग करते हैं.
यहां तक कि अत्यधिक तकनीकी लोगों के लिए भी, जैसे कि सॉफ्टवेयर डेवलपर्स भी abstraction का लाभ उठा सकते हैं. उदाहरण के लिए, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का एक मुख्य लाभ डेटा एब्स्ट्रक्शन करना होता है.
यह जटिल संस्थाओं (एंटिटी) को सरलीकृत वस्तुओं में बदल देता है, जिसे की प्रोग्राम के भीतर में बदला और ऐसेस किया जा सके. इन ऑब्जेक्ट्स, जिन्हें की अक्सर क्लासेस कहा जाता है, वहीँ इसमें कई गुण और विधियां हो सकती हैं.
इन सभी चीज़ों को एक वस्तु में समेकित (कंसोलिडेट) करने पर, प्रोग्रामर के लिए प्रोग्राम के भीतर डेटा को एक्सेस करना और प्रबंधित करना आसान हो जाता है.