[C#] 상수 선언과 읽기 전용 키워드 (Const & Read only)
2021. 8. 19.
const와 readonly는 무엇인가? 단어에서 알 수 있듯이 const는 constant의 약자로 상수라는 뜻이다. 상수는 변하지 않는 값이며 프로그래머가 개발 도중에 생길 수 있는 실수로 인해 값이 변하는 것을 막기 위해 존재한다. readonly 역시 직역하자면 읽기만 가능 이라는 뜻인데 다른 말로 "write가 불가능"이라고 할 수 있겠다. 따라서 두 키워드 모두 값의 변경을 막고자 할 때 사용한다. 어떠한 차이가 있는가? const와 readonly는 메모리 할당 영역부터 다르다. const는 static영역에 메모리가 할당되기 때문에 프로그램 시작 전부터 이미 메모리가 할당이 되어있다. readonly는 일반 필드 영역에 할당된다. 이 같은 이유로 다음과 같은 차이점이 발생하게 된다. 우선 ..