OOP is a programming language that is based on the Object Orientation methodology. The major advantages of OOP is its capabilities for creating flexible, modular programme and its abilities of code reuse. An object is a concrete instance of some classes. A class is a template for multiple objects with similar features.
Classes embody all the features of a particular set of objects.
In most cases, Java classes of objects are defined rather than actual objects. An instance of a class is another word for an actual object. Methods are functions defined inside classes that operate on instances of those classes. Fields consists of instance variables. Instance variables define the attributes of an object.