JAVA

배열 복사 (얕은 복사, 깊은 복사)

애용쓰 2023. 2. 6. 02:24

깊은 복사

: 객체의 실제값을 새로운 객체로 복사한다. 대개의 복사는 깊은 복사를 의미한다.

public class Main{
    public static void main(String[] args)  {
        int[] a = { 1, 2, 3, 4 };
        int[] b = new int[a.length]; 
        for (int i = 0; i < a.length; i++) {
            b[i] = a[i];
        }
    }
}

얕은 복사

: 객체의 주소 값만을 복사한다. -> 여러 객체가 같은 주소를 참조, 하나의 값을 변경하면 나머지 대상의 값도 변경된다.

public class Main{
    public static void main(String[] args)  {
        int[] a = { 1, 2, 3, 4 };
        int[] b = a;
    }
}