[C#] 왜 string은 불변성일까?

Date:     Updated:

카테고리:

태그:

왜 string은 불변성일까? 라는 의문에서 시작하여 공부하고 정리한 글입니다.
참고 책 : CLR via C#

왜 string은 불변성일까?

  • string이 불변성이여서 얻는 장점이 있다
    • 문자열을 조작하거나 액세스할 때 스레드 동기화 작업이 필요치 않다
      • 값이 변하지 않는다는 점은 스레드 동기화할 때 상호 배제를 할 필요가 없어서 성능에 유리하다
    • 하나의 String 객체를 이용하여 CLR이 여러개의 동일한 문자열을 공유할 수 있도록 하여 메모리 사용량을 낮출 수 있다
      • 문자열 보관을 사용할 경우 내부 해시 테이블에서 문자열을 가지고 있고 해시 테이블에 있는 문자열을 참조하는 방식이다
      • 다만 해시 테이블에서 보관되기 때문에 문자열이 사용되지 않는다고 해서 가비지 수집기가 수집할 수 없다


💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우 
  언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸

맨 위로 이동하기

CSharp 카테고리 내 다른 글 보러가기

첫 번째 글입니다 가장 최근 글입니다

댓글 남기기