02 변수와 상수

vencott·2021년 6월 2일
0

C#

목록 보기
2/32

변수

C#의 변수는 2가지로 분류할 수 있다

  1. 로컬 변수: 메서드 안에서 선언
    • 해당 메서드 내에서만 사용
    • 메서드 호출이 끝나면 소멸
    • 기본값을 할당받지 못하므로 반드시 사용 전에 값을 할당
  2. 필드: 클래스 안에서 클래스 내의 멤버들이 사용하는 전역적 변수
    • 클래스의 객체가 살아있는 한 존속
    • 특히, static field는 클래스 Type이 처음으로 런타임에 의해 로드될 때 해당 Type 객체에 생성되어 프로그램이 종료될 때 까지 유지된다
    • 값을 할당하지 않으면 해당 타입의 기본값이 자동으로 할당
using System;

namespace ConsoleApplication1
{
    class CSVar
    {
        int globalVar; // Field
        const int MAX = 1024;

        public void Method1()
        {
            int localVar; // Local Variable
            localVar = 100;

            Console.WriteLine(globalVar); // 기본값 0이 할당
            Console.WriteLine(localVar);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            CSVar obj = new CSVar();
            obj.Method1();
        }
    }
}

상수

C#에서 상수는 키워드 const를 사용하여 정의한다

상수는 처음에 할당한 값을 중간에 변경할 수 없으며 컴파일 시 상수값이 결정된다

readonly

const 대신 readonly 키워드를 사용하여 읽기전용 필드를 만들 수 있다

선언 시 값을 할당해줘야 하는 const와는 다르게, 먼저 선언 후 생성자 등에서 값을 할당할 수 있으며 런타임 시 값이 결정된다

using System;

namespace ConsoleApplication1
{
    class CSVar
    {
        const int MAX_VALUE = 1024; // 상수
        readonly int Max; // readonly

        public CSVar() 
        {
           Max = 1;
        }
    }
}

출처: http://www.csharpstudy.com/

profile
Backend Developer

0개의 댓글