Object oriented programming languages are the dominant languages in the majority of enterprise companies today. The abstraction of taking your data and executable actions and combining them into discrete bundles known as objects is a useful one that mimics how most people view the real world. Just as we use nouns to describe the types of things in the real world and adjectives and verbs to describe them and their actions programmers can also define classes, fields, and methods to create code objects in the virtual world.