Things get a little more complicated when you have objects with instance variables pointing to other objects. You will learn how to handle those cases starting in Chapter 21.
In otherwords, were are (in chap 16) currently working with one dimensional objects if you will. By that I mean, every time we make a reference to an instance were referring to an instance that was just created. Soon, in chap. 21, we’ll be sending messages to objects/instances and those message sends will send messages to other instances and so on. I am not there yet but I can see the logic. Kinda like when we were first introduced to pointers, we said pointers were variables that “point” to the location or address in memory where we can find another variables contents. Prior to that we were used to a one-dimensional variable=value scheme. Now, we had to learn variable=address of another variable. I never understood exactly why obj-c decided to work that way but they wouldn’t call it object oriented programming if we weren’t working with objects in the form of data. I Hope this helped a little.