Before cloning ce:num:3, thing:Fred After cloning, setting ce num to 5 After cloning, setting ce thing name to Barney ce:num:5, thing:Barney ceShallowClone:num:3, thing:Barney cdDeepClone:num:3, thing:Fred Notice that changing ce thing name to Barney changed ceShallowClone's thing name to Barney. This is because the copy was shallow, and ce's thing and ceShallowClone's thing point to the same Thing. Notice that ceDeepClone's thing name is Fred. This is because the deep copy resulted in ceDeepClone having its own Thing.