티스토리 뷰
C#에서의 키워드 readonly와 const는 값을 변경할 수 없다는 같은 특징을 가지고 있다.
const int a = 1;
readonly int b = 2;
하지만 차이점이 있다면
readonly키워드가 붙은 변수의 경우 생성자에서의 변경을 허용한다.
const키워드의 경우 변수 선언시 명시적(생성자X)으로 값을 저장하여야 한다.
readonly는 인스턴스 선언시 초기화 되지만
const는 컴파일 할때 초기화 된다.
아래는 두 readonly와 const의 비교 소스코드이다.
class ProgramEx { readonly int ri = 5; const int ci = 4; public ProgramEx() { this.ri = 3; //this.ci = 3; //ci는 생성자에서 초기화 할 수 없고 변수선언시 명시적으로 선언해줘야 한다. Console.WriteLine("ri=" + this.ri + "\n" + "ci=" + ci); } static int ReadInt() { //return ri; //readonly키워드 변수 ri는 인스턴스생성시 할당되는 변수이기 때문에 static메서드에서는 사용을 할 수 없다. return ci; } }
'C#' 카테고리의 다른 글
C# 예외처리 (0) | 2014.11.19 |
---|---|
CLR(C#가상머신) 초기화시 값을 전달할 경우 app.config 활용 (0) | 2014.11.18 |
c# 에서의 정보은닉(information hiding) (0) | 2014.08.27 |
[델리게이트:delegate] (0) | 2014.06.24 |
객체지향[2] 특이한 연산자 오버로딩 (0) | 2014.06.20 |
Comments