아래 글은 C# 문법 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.
📃 참고자료
- https://papabee.tistory.com/3
- https://www.c-sharpcorner.com/article/mutable-and-immutable-class-in-c-sharp/
- https://cdy0510.github.io/2018/05/10/mutable-immutable/https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=bluerein_&logNo=220873858365
- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=bluerein_&logNo=220873858365
* 위 링크를 참고해서 아래 글을 작성했습니다.
# 가변타입(Mutable Type)
Mutable Type이란?
- Mutable한 객체는 생성된 이후에 상태가 변경될 수 있는 객체입니다.
대표적인 Mutable Type
- List
- ArrayList
- HashMap
등등
# 불변타입(Immutable Type)
Immutable Type이란?
- Immutable은 '변하지 않는'이라는 뜻이 담겨 있습니다.
- Immutable한 객체는 생성된 이후에 상태가 변경되지 않는 객체를 말합니다.
- 불변이란, 객체가 컴퓨터의 메모리 내에서 쓰기를 할 수 없다는 뜻이 아니다.
대표적인 Immutable Type
- String
- Integer
- Double
- Long
Immutable Type을 사용하는 이유
- 성능을 향상시키기 위함
- 객체가 미래에 변할 계획이 없을 때 - 메모리 사용을 줄이기 위함
- 전체 객체를 복사하지 않고 객체 참조를 만듦 - Thread-safety
- 여러개의 쓰레드가 서로 간섭하지 않고 같은 객체를 참조할 수 있음
반응형