삽질의 현장/- .NET

[삽잡이::C#]문자열

shovelman 2015. 10. 29. 01:59


string 즉, 문자열은 C#에서 변경되지 않습니다.

그리고 참조 형식입니다.

하지만, 동작은 값 형식과 똑같습니다.

왜냐하면, 독립성을 보장하기 때문입니다.



많은 객체들이 한 참조를 가진다고 해도,

변경이 가능하지 않다면 독립적인 객체입니다.


문자열이 절대로 바뀌지 않는다면,

일부를 공유하는 독립적인 객체가 됩니다.

따라서, 외부에서 공유를 하더라도 바뀌지 않습니다.


정리하자면,

string은 참조형식이기는 하나, 값 형식과 똑같이 동작합니다.

문자열을 값처럼 넘겨라? 틀린말이 아닙니다.