공통점 : 배정된 값이 변하지 않음
| readonly (접근 제한자) | const (상수) | |
| 개념 | 클래스의 멤버 변수 값이 최초 선언된 이후에 수정되는 것을 막아줌 | 값이 변하지 않아야 하는 데이터를 선언하는 용도 |
| 값 배정 시점 | 런타임 상수 (프로그램이 실행되는 순간 값을 배정) |
컴파일 타임 상수 (코드를 컴파일할 때 값을 배정) |
| 선언할 때 | 값이 주어지지 않아도 됨 | 반드시 값이 주어져야 함 |
| 계산식의 값 배정 | O | X |
| 값 변경 | O (필요할 때, 생성자 사용해서 값 바꾸기 가능) | X |
결과적으로, 프로그램이 실행되는 동안 값의 변화가 일어나지 않는 상수
-다르게 써야하는 이유?
e.g.) 카카오톡
- 제공하는 기능 : 같음
- 친구 목록, 대화 내용 : 사용자마다 다름
-> 각각의 사용자마다 다른 목록을 보여줘야하는데, 결정되는 시기 = 프로그램 시작 시점!
=> readonly : 로그인 시점에서 한 번 입력한 정보 - 프로그램 종료까지 그대로 유지
'공부 > C#' 카테고리의 다른 글
| [C#]if문 vs switch문 (1) | 2023.12.05 |
|---|---|
| [C#]var 사용법 (1) | 2023.11.29 |
| [C#]static(정적) 필드, 메소드 (0) | 2023.11.12 |
| [C#]헷갈리는 용어 정리 (클래스, 객체(인스턴스) ...) (0) | 2023.11.12 |
| [C#]매개변수, 인수 (0) | 2023.11.09 |