본문 바로가기
프로그래밍 언어/Java

[Java] [예제] 값에 의한 복사 vs 참조에 의한 복사

by 까망 하르방 2021. 3. 7.
반응형

값(Value) 복사

public class Main {
    public static void main(String[] args) {
        
        int val = 10;
        // 값 복사
        int copyVal = val;
        
        copyVal = 100; // 복사본 값 변경
        
        System.out.println("원본: " + val);
        System.out.println("복사본: " + copyVal);
    }
}

 

참조값(Reference) 복사

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        
        int[] arr = {10};
        // 참조값 복사
        int[] copyArr = arr;
        
        copyArr[0] = 100; // 복사본 값 변경
        
        System.out.println("원본: " + Arrays.toString(arr));
        System.out.println("복사본: " + Arrays.toString(copyArr));

    }
}

일반 변수는 값 자체를 복사해서 할당한 것이며,

참조값 복사는 동일한 데이터에 접근하여 실제 값을 변경하게 된 것이다.

 

 

반응형

'프로그래밍 언어 > Java' 카테고리의 다른 글

[Java] [예제] 객체 배열  (0) 2021.03.07
[Java] 형 변환  (0) 2021.03.07
[Java] Class와 Instance (객체 형태)  (0) 2021.03.07
[Java] this & this()  (0) 2021.03.06
[Java] Java 언어 특징 및 실행과정  (0) 2021.03.04

댓글