بصورت خلاصه برنامه نویسی شئ گرا به سبکی برای تولید برنامه گفته می شود که در آن یک برنامه با تعامل بین اشیاء ساخته می شود. این اشیاء از روی کلاس های ساخته می شوند و ما با استفاده از آنها برنامه خود را می نویسیم.
مفاهیمی مانند وراثت، چند ریختی (polymorphism) و encapsulation به ما در این راه کمک می کند. برنامه نویسی شئ گرا بدلیل شباهت زیاد با دنیای واقعی دارد، مدلسازی برنامه را برای ما آسانتر می سازد. در دنیای واقعی وقتی شما می خواهید یک خانه بسازید تعدادی شئ آجر و سنگ نما خریداری می کنید که هر دو زیر مجموعه کلاس سنگ هستند و سپس با بکارگیری یکسری شئ دیگر خانه خود را می سازید، برنامه نویسی شئ گرا هم بهمین صورت با ایجاد اشياء مختلف از کلاس های (انواع) مختلف برنامه خود را تولید می کنید.