본문 바로가기
Java

[Java] 얕은 복사에 자세히 알아보면? / Shallow Copy

by bkuk 2022. 9. 28.

Shallow Copy(얕은 복사)

 

Shallow Copy(얕은 복사)는 '주소값'을 복사함으로, 참조하고 있는 실제값이 같습니다.

 

아래와 같은 클래스 파일을 만들었습니다.

 

"bal1" 이라는 이름을 가진 인스턴스를 생성했습니다.

또한, 메서드를 통해 name, money를 정해줬습니다.

 

인스턴스를 "bal1Copy" 라는 이름을 가진 인스턴스에 복사했습니다.

이에, "bal1" changeName 메서드를 통해 name을 변경했고,

spenMoney 메서드를 통해 money를 지출했습니다.

 

 

그렇다면  "bal1"은 tom 이라는 name과 900원을 가지고 있고,

 "bal1Copy"은 변경 전의 상황인 bob, 1000원을 가지고 있어야 한다고 생각이 듭니다.

 

하지만, 현재 상황은 어떻게 될까요?

출력 후 확인해보겠습니다.

 

얕은 복사, 즉 주소가 복사되어 결과 값이 같다고 결론을 내릴 수 있습니다.

댓글