What is a copy?
A copy of an object is a distinct object with the same properties as the original
If the object is part of a large data structure, we might distinguish between
- copying just that object (shallow copy)
- copying the whole structure (deep copy)