In this chapter, we learned how to build classes into our programs to represent things, either real-world items or virtual concepts. Using those classes, we can then instantiate objects that we can use in our programs, with each object representing a unique instance of a sort of item.

Using classes is a core concept in object-oriented programming, and it really helps us organize larger programs into smaller pieces of code, where each piece is a logical division of the program as a whole.

In later chapters, we’ll learn how we can relate our classes together through the use of inheritance and polymorphism, allowing us to represent not only individual items, but also items that are related. For example, we could have objects representing a teacher and a student with different attributes and actions they can perform. However, we can also say that they are both people and therefore share many attributes and actions.