자바 공부 얕은복사부분 공부하는데 이해가 안가는 부분을 발견해서요...


얕은복사가 단순 필드값을 복사해서 객체를 복제하는 것이다 라고 되어있고 필드가 참조타입일경우

객체의 번지(주소)가 복사된다고 하는데요.


예제 소스코드에서 클래스를 얕은 복사하는데 필드중에 String 타입이 있습니다

String 타입은 참조타입이잖아요?


클래스를 복사후에 복사 클래스의 String 타입의 필드를 변경후

필드값을 출력해보니 원본은 그대로있고 복사객체의 필드는 변경이 되었는데요...


값이 둘다 같이 바뀌어야 되는것 아닌가요?


String s1 = "12345" // 원본 객체의 필드


여기서 "12345" 문자열의 참조값(주소값)이 s1에 저장이 되고..

객체를 복사했다면 그 객체의 s1 필드에도 "12345" 문자열의 참조값이 저장되어있어서

같은곳을 바라봐야할것같은데..


왜 각각 다른곳을 바라보나요?