aliasing, shallow copying and deep copying