배열 - 얕은 복사/ 깊은 복사
2023. 1. 10. 18:08ㆍ프로그래밍 언어/JAVA
얕은 복사
String[] arr = {"red", "blue", "green"};
//얕은 복사
String[] b = arr;
for(int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
얕은 복사의 방법은 이렇다.
얕은 복사를 사용할 때 주의할 점은 다른 배열의 값을 바꾸면 오리지널 배열의 값도 바뀐다.
왜냐하면 같은 주소값을 사용하기 때문이다.
//깊은 복사
String[] a = {"aaaaaa", "bbbbbb", "ccccccc"};
String[] b = new String[3];
b[0] = a[0];
b[1] = a[1];
b[2] = a[2];
System.out.println(b[0]); //aaaaaa
System.out.println(b[1]); //bbbbbb
System.out.println(b[2]); //cccccc
깊은 복사의 방법은 이렇다.
깊은 복사에서는 b 배열의 값을 바꾸어도 a 배열의 값을 바꾸지 않는다.
왜냐하면 다른 주소값을 사용하기 때문이다.
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
객체의 라이프 사이클 (0) | 2023.01.20 |
---|---|
자바 - 상속(Inheritance) (0) | 2023.01.18 |
Scanner - next() (0) | 2023.01.06 |
Scanner - nextLine(), nextInt() 비교 (0) | 2023.01.06 |
3 - 제어문 (0) | 2023.01.03 |