문자열은 값형식이 아닌 참조형식으로 heap 메모리에 실제 값을 저장한다. string str1 = "안녕하세요";string str2 = str1; str2 에 str1 의 참조주소를 할당하였고str2 또한 str1의 "안녕하세요"라는 데이터를 가리키게 된다. 이때 만약 str1의 문자를 변경하면 어떻게 될까string str1 = “안녕하세요”;string str2 = str1;str1 = "abc"; 일반 참조타입과 다른방식으로 작동하게 된다.일반적인 참조타입의 경우 가변객체의 특성으로 heap 영역의 데이터가 변경되어도참조는 그대로 유지하며 데이터만 변경된다. 하지만 위의 그림과 같이 문자열은 heap 영역의 데이터를 변경하는 경우다시 새로운 메모리를 할당하게 된다. 이러한 성질을 불변성이라 ..