برنامه نویسی شیء گرا (Object Oriented Programming) در
حقیقت برنامه نویسی ساخت یافته (Stuctured Programming) توسعه داده شده می باشد که
کپسوله کردن داده ها و قابلیت استفاده مجدد از کد های نوشته شده را مورد تاکید قرار
داده است.
زمانی که شما یک شیء یا به طور عامیانه یک کلاس (Class) را به وجود می
آورید، هر برنامه نویس دیگری نیز می تواند در برنامه های مختلف از آن استفاده
نمایید، لذا کاهش مدت زمان طراحی و افزایش کارآیی مهمترین مسائلی هستند که برنامه
نویسی شیء گرا به ارمغان می آورد.