공부/C#

[C#]readonly vs. const

개발의 피 2023. 11. 27. 23:06

공통점 : 배정된 값이 변하지 않음

 

  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