11/05/2009

const, readonly, static keyword in C#

const keyword
암시적으로 static
컴파일 타임에 선언과 동시에 초기화, 값 못바꿈
readonly keyword
다른 class 에서 쓰고 싶으면 명시적으로 static
런타임에 한번 결정되면 바꾸지 못함.

class Tire
{
    public const Tire GoodStone = new Tire(90); //Error!
    public readonly static Tire GoodStone = new Tire(90);

    public int manufactureID;
    public Tire() { }
    public Tire(int ID)
    {
        manufactureID = ID;
    }
}

static keyword
static 메소드에서 쓰이는 외부 멤버들은 모두 static으로 선언되어 있어야 함
class내에 선언된 static 변수는 class instance생성시 같은 메모리를 공유한다.
static class는 instance를 만들 수 없다.

댓글 없음:

댓글 쓰기