const
const int a;
- 컴파일시 할당된 상수로 변환된다.
- 생성자에서 값을 넣어주지 않으면 컴파일 에러가 발생된다.
- stack 영역에 저장되며 따라서 많은 const 값이 있다면 메모리가 터질지도..?
readonly
readonly int a;
- 단 한번만 값을 넣어줄 수 있다. (언제든 단한번)
- Mono에서 쓸 수 없다.
- C# 8.0 에서 추가됨
- 생성자 or 초기화에서만 초기화 가능 —> mono의 경우 awake 밖에 못쓰니까 못쓰는 것
- struct 에서 많이 씀
- heap 에 할당된다.
init
int a {get; init;}
- property 에서 설정해주면 된다.
- mono 에서 쓸 수 있다. (2021.1 이상에서)
- 단 한번만 값을 넣어줄 수 있다.
- C# 9.0 에서 추가됨
- immutable 과 비슷한 속성을 가짐.
공통점 : 값이 한번만 바뀌거나 절대 바뀌지 않는다라는 점
반응형
'언어공부 > C# 공부' 카테고리의 다른 글
변수명 짓는 방법: 코드 가독성을 높이는 핵심 요소 (0) | 2023.11.19 |
---|---|
C# 으로 Excel File 가공하기 -1- (1) | 2023.11.07 |
다양한 C# Switch 문의 세계 (0) | 2023.04.15 |
nullable 이란 ? (bool? int? ) (0) | 2023.04.13 |
Struct VS Class VS Record (0) | 2023.04.10 |