The concept of class comes from the Object Oriented Programming (OOP) paradigm. In OOP the concepts of object and class are highly related. Objects are the main elements of this paradigm and they try to find correspondence with “real-life” objects. We could have an object named Dog that tries to represent a real-life dog incorporating many of its attributes (color, height, and so on) and its functionalities (bark, eat, sleep, and so on). To be able to create the Dog object, we would need a “blueprint” to follow or a “model” to build from; this blueprint or model is the class.