짧고 굵게 설명 들어간다.

 - const -
 const는 선언시 값이 할당되어야 한다.
 한 번 할당하면 바꿀 수 없는 '상수'인 것이다.
 private const int HEIGHT_OF_TOOL = 72;



 - readonly -
 readonly는 생성자에서 한 번 더 할당할 수 있다.
생성자가 오버로드 되면 값을 때에 따라 값을 달리 할 수 있는 것이다.
그래서인지 선언시 값을 할당하지 않아도 된다.
 private readonly int HEIGHT_OF_TOOL;

public ToolManager()
{
HEIGHT_OF_TOOL = 10;
}

public ToolManager(int height)
{
HEIGHT_OF_TOOL = height;
}

 
마지막으로 한 가지 덧붙이자면,

const는 static이다.

readonly는 아니다. 하지만 앞에 static 써주면 그만이다. ㅡㅡ;

그래서! readonly가 좋다.


아직도 이유가 애매한가?

readonly는 const가 할 수 있는 모든 일을 하면서

확장성을 가지고 있다는 말이다. C#에까지 와서 굳이 const를 쓸 일이 무어란 말인가.


더보기

신고
Posted by ParkPill 박필


티스토리 툴바