Classes and objects are the two main concepts employed in all object-oriented programming languages. Every class contains a set of variables and methods that it can use and manipulate. In an object-oriented programming language, all the objects in a program have a specific type and the variables and methods of an object can only be manipulated by methods of the same type. In most object-oriented languages, the class is used to create an object and vice versa. An object-oriented program is made up of objects, procedures, and data types. Everything in an object-oriented program, including data and code, is an object.