얕은 복사

    [Java] 깊은 복사 vs 얕은 복사

    복사 코드를 작성하다 보면, 똑같은 값을 가지게 하고싶을 때가 있습니다. 따라서 아래와 같이 사용합니다 Integer a = 3; Integer b = a; a = 5; 모든 값이 이렇게 잘 복사되면 좋겠지만 배열이나 객체의 경우 다른 결과가 나옵니다. 배열의 복사 List origin = new ArrayList(List.of(1,2,3)); List copy = origin; origin.set(0,10); copy.add(0); 배열은 값을 복사하여 가져와도 두 값 전부 변경되는 것을 볼 수 있습니다. Copy origin = new Copy(5); Copy copy = origin; origin.a = 10; /** * 임의 클래스 */ class Copy { int a; Copy(int a) {..