1번
String a = new String();
String b = a;
String c = a;
2번
String a = new String();
String b = new String();
a = "test"; 총 메모리 3
b = "test2" 총 메모리 4
b = a;
이렇게 있을 때, 1번은 주소복사, 2번은 값복사로 이해를 하고 있습니다.
그런데
3번
String a = "1";
String b = new String();
b = a;
String c = a;
a = "test"
이렇게 두고 a, b, c를 출력하면 결과로
a = test
b = 1;
c = 1;
이렇게 나옵니다.
b = a 를 했을 때, 주소복사가 되고 String c = a; 했을 때, 값복사가 된다고 이해를 하고 있는데,
(제가 이해를 하고 있는게 잘못되었다고 생각합니다.)