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.