본문 바로가기

Dev-/Java

얕은 복사

List<Integer> l1 = new ArrayList<>();
l1.add(1);
l1.add(1);
l1.add(1);

/**
* 얕은 복사(주소값 복사)
* ---> 이제부터 l1, l2는 한 몸처럼 취급
*/
List<Integer> l2 = l1;
l2.add(1);
l2.add(1);
l2.add(1);
l2.add(1);
l2.add(1);

System.out.println("l1의 사이즈: " + l1.size());
System.out.println("l2의 사이즈: " + l2.size());
System.out.println("------------------------");
System.out.println("l1: " + l1);
System.out.println("l2: " + l2);


출력결과



직관적으로 생각하는 '복사'의 의미와 달라 조심