When we develop a piece of code with an OO mindset, we try to model the real world and map real-world objects to objects in the program. You certainly have heard object orientation explained with the very typical examples of geometric objects, or the car and the motor thing to explain composition. Personally, I believe that these examples are too simple to get a good understanding. They may be good for starters, but we are already in the fourth chapter of this book. The Mastermind game is much better. It is a bit more complex than just rectangles and triangles, but not as complex as a telecom billing application or an atomic power plant control.
What are the real-world objects that we have in this game? We have a table and we have pins of different colors. There are two Java classes that we certainly will need. What is in a table? There are rows each having...