برنامه نویسی شی گرا (OOP) یک ساختار برنامه نویسی است که در آن برنامهها بر خلاف عمل و منطق، حول اشیا سازماندهی میشوند. برنامهنویسی شی گرا اساساً یک فلسفه طراحی است که مجموعه متفاوتی از زبانهای برنامه نویسی مانند سیشارپ از آن استفاده می کنند. درک مفاهیم OOP می تواند به تصمیمگیری در مورد نحوهی طراحی برنامه و ساختار مورد استفاده کمک کند. همه چیز در OOP به عنوان اشیا کنار هم قرار می گیرند. یک شی ترکیبی از متغیرها، توابع و دادهها است که مجموعهای از فعالیتهای مرتبط با هم را انجام میدهد. وقتی شیء آن فعالیتها را انجام می دهد، رفتار شی را تعریف میکند.