Classes are required in OOPs because: It provides template for creating objects, which can bind code into data . It has definitions of methods and data. It supports inheritance property of Object Oriented Programming and hence can maintain class hierarchy.