반응형
아래 글은 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
- 여러개의 쓰레드가 서로 간섭하지 않고 같은 객체를 참조할 수 있음
반응형
'프로그래밍언어 & 프레임워크 > C#' 카테고리의 다른 글
변수의 Scope(범위) (0) | 2021.08.09 |
---|---|
C# static(정적) 메서드 (0) | 2021.08.08 |
call by Value와 Call by Reference (0) | 2021.08.06 |
[토이프로젝트]UpDown 게임(컴퓨터의 랜덤 숫자 맞추기) (0) | 2021.08.05 |
박싱(Boxing)과 언박싱(UnBoxing) (0) | 2021.08.04 |