Object-oriented programming (OOP) is a style of programming characterized by the identification of classes of objects closely linked with the methods (functions) with which they are associated . It also includes ideas of inheritance of attributes and methods.