Const 상수는 컴파일 될 때 그 값이 결정돼서 프로그램이 시작할 때부터
끝날 때까지 메모리에
담아두고 사용한다. 클래스의 인스턴스가 생성될 때 상수를 만들고 객체가 소멸될 때 같이
메모리에서 해체하고
싶으면 readonly 키워드를 사용한다.
Const는 컴파일 할 때 값이
결정되기 때문에 선언과 동시에 값을 지정해 준다.
readonly는 객체가 생성될 대 초기화되므로 미리 그
값을 정의해줘도 되고
생성자에서 정의해줘도 된다. 하지만 생성자 이후에는 절대로 이 값을 변경할 수 없다.
======================================================================================
[const.cs]
/* 2/27 Const(상수처리화,읽기전용: enum과 비슷)*/
using
System;
class Sizes
{
public const int
Medium = 100;
public const int Large = 105;
public
const int XLarge = 110; //생성과 동시에 초기화를 꼭 시켜줘야함.
}
class Shirt
{
public static void
Main()
{
while(true)
{
string
s;
Console.WriteLine("치수 기호를 입력하세요(빠져나가시려면 'q'). (M)edium
(L)arge (X)Large");
s =
Console.ReadLine();
if(s == "q") break;
switch(s)
{
case
"M":
Console.WriteLine(Sizes.Medium);
break;
case
"L":
Console.WriteLine(Sizes.Large);
break;
case
"X":
Console.WriteLine(Sizes.XLarge);
break;
default:
Console.WriteLine("제대로
된 치수를 입력해
주세요");
break;
}
}
}
}
[readonly.cs]
/* 2/27 readonly(읽기전용)*/
using
System;
class Sizes
{
public readonly int
Medium = 100;
public readonly int Large =
105;
public readonly int
XLarge;
public
Sizes()
{
this.XLarge = 110; //선언과 초기화를
동시에 할 수 있다. 단 생성자 함수에서만..
}
}
class Shirt
{
public static void
Main()
{
Sizes s = new Sizes(); //readonly를 사용할 경우
객체(인스턴스)를 생성해야 함.
Console.WriteLine("Medium은 : " +s.Medium+ "
입니다");
Console.WriteLine("Large는 : " +s.Large+ "
입니다");
Console.WriteLine("XLarge는 : " +s.XLarge+ "
입니다");
}
}
'IT_Programming > C#' 카테고리의 다른 글
구조체 (0) | 2006.02.27 |
---|---|
인터페이스 (0) | 2006.02.27 |
This 키워드 (0) | 2006.02.24 |
메서드 오버라이딩 (0) | 2006.02.24 |
메서드 오버라이딩3 - virtual (0) | 2006.02.24 |