SSISO Community

시소당

[C#] const / readonly 차이점

C#에서 Java의 final 키워드와 같이 상수를 정의하는 키워드는 readonly, const 두가지가 있다.


  • const : 컴파일 시 값이 할당되므로 초기화 시점에서 값을 지정해야 한다. 하지않으면 컴파일 에러 발생한다.
  • readonly : 런타임 시 값 지정. 단, 생성자 안에서만 값을 지정할 수 있다. 서비스의 가격, 제품 버전 등 변경 될 수 있는 값을 지정하는데 유용하다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class SamleClass
{
private readonly string strConstant1;
// const 한정자 : 초기 값을 지정하지 않으면 컴파일 오류 발생
private const string strConstant2 = "const";
public SampleClass()
{
// readonly 한정자 : 클래스 생성자에서 값 할당 가능
strConstant1 = "readOnly";
}
}
cs


2419 view

4.0 stars