안녕하세요 예를들어 MainClass라는 클래스가 있다고 할 때
MainClass class1 = new MainClass();
MainClass class2 = new MainClass();
이렇게 객체 생성을하면 저 둘은 참조 주소가 서로 다른데
string s1 = "안녕하세요";
string s2 = "안녕하세요";
이렇게 스트링형 객체를 생성할 때 문자열이 같으면 object.ReferenceEquals를 호출했을 때도 그렇고
디버깅 조사식에서 레퍼런스를 확인해 보니 저 둘은 참조 주소가 동일하더라구요..
스트링 변수에 값이 바뀔 때 객체가 새로 생성돼 참조가 바뀌는 것은 알고 있었지만
저렇게 동일한 문자열을 할당받은 시점에서도 같은 참조를 가리키고 있도록 설계된 건가 해서 혼란이 와 질문드립니다..
감사합니다.
[최초 등록일: ]
[최종 수정일: 12/21/2021]