자바에서 다차원 배열의 복제는 최상위 1레벨만 수행한다. 예를 들어 1차원배열의 복제를 생각해보면, int[] a = {1, 2, 3}; int[] b = a.clone(); 이 경우에 b는 a의 배열을 공유하는 것이 아니라 복제한다. (깊은 복사, Deep copy) int[][] a = {{1, 2, 3, 4}, {5, 6, 7}}; int[][] b = a.clone(); // 1차원배열만 복제되어 b[0], b[1]의 주솟값만 따로가지고, 그 아래 레벨의 배열은 복제되지않고 공유된다. 하지만 2차원 배열에서는 최상위 1레벨 즉, 1차원만 복제하고 그 아래 레벨에 대해서는 그냥 공유만 한다. (얕은 복사, Shallow copy)