ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C# 연습해보기, 변수 그리고 상수
    프로그램/C# 2020. 1. 7. 10:15

    변수 그리고 상수에 대해서 알아볼려고합니다.

     

    먼저, 변수란 무엇일까요? 이미 많이 들어보신 분들도 계실 거라 생각드네요.

    변수는 쉽게 말하면 값을 담아 두는 상자라고 생각하시면 됩니다. 변수는 하나의 데이터 값을 가질 수 있고

    한번 정해진 값은 고정되어 있지 않고 계속해서 몇 번이든 변할 수 있습니다. 

     

    그리고 변수는 담기는 데이터에 따라 앞 글에서 보았던 변수의 자료형이 결정됩니다. 문자를 담을 수 있는 char 자료형,

    정수를 담을 수 있는 int 자료형, 소수점을 담을 수 있는 float 자료형 처럼 말이죠.

     

    예시로 아래와 같이 자료형과 변수명을 가지고 변수를 만들 수 있습니다, 아니 변수를 선언 할 수 있습니다.

    (선언하다, 컴파일러에게 대상의 이름을 알려주는 것.)

     

    class Program
    {
    	static void main(string[] args)
        {
        	int a;
            a = 1000;
            
            Console.WriteLine(a);
        }
    }

    이 예시는 결과가 어떻게 될까요?

     

    1000
    계속하려면 아무 키나 누르십시오...

    결과가 이렇게 나옵니다.

     

    이미 예상하신 분들도 많으시겠지만, 중간에 보시면 변수 a를 선언 후 1000이라는 값을 변수를 초기화 시켜주었습니다.

    (초기화란 최초로 데이터를 할당하는 것)

     

    예시로 아래처럼 선언과 동시에 초기화를 동시에 진행할 수 있습니다.

     

    int a = 100;
    int b = 1000;
    int c = 10000;
    
    // 위 선언 방법과 아래 선언 방법은 같습니다.
    
    int a = 100, b = 1000, c = 10000;

    하지만, int 형으로 선안하게 되면 오로지 정수만 넣을 수 있습니다. 에로 float 형으로 변수를 선언하게 된다면 오직 소수점 정수만 넣을 수 있죠.

     

    두번째로 상수로 넘어가겠습니다.

    프로그램을 만들게 될때 수많은 변수를 선언하여 사용하게 됩니다. 그 수많은 변수 중 값이 도중에 변경되어도 문제가 없는 것과 변경되면 심각한 문제가 일어날 수 있는 것들이 있습니다. 혹시나 변경하지 말아야 할 변수를 건드려서 오류가 발생할 수 있구요. C#은 이러한 문제를 쉽게 해결 해주는 const 라는 키워드가 있습니다.

     

    const 키워드를 사용하게 되면 한번 초기화 된 값이 절대 변하지 않습니다.

    상수를 정의하는 방법은 변수의 선언 방법과 비슷합니다. 

    예시를 보겠습니다.

     

    class Program
    {
    	static void main(string[] args)
        {
        	const int a = 10;
            
            Console.WriteLine(a);
        }
    }

    결과는

    10
    계속하려면 아무 키나 누르십시오...

    예제를 보아선 const 키워드의 특정을 파악 할 수 없겟죠?

    다른 예제를 보겠습니다.

     

    class Program
    {
    	static void main(string[] args)
        {
        	const int a = 10;
            
            a = 20;
            
            Console.WriteLine(a);
        }
    }

    이렇게 중간에 변경하게 된다면 어떤 결과가 나올까요?

    CS0131: 할당식의 왼쪽은 변수, 속성 또는 인덱서여야 합니다.

    라는 오류가 발생하게 됩니다.

     

    만약, 선언과 초기화를 따로따로 하게된다면?

     

    class Program
    {
    	static void main(string[] args)
        {
        	const int a;
            
            a = 20;
            
            Console.WriteLine(a);
        }
    }

    결과는

    CS0145: const 필드에 값을 입력해야 합니다.

    라는 오류가 발생하게 됩니다.

    즉, 선언과 동시에 초기화를 해주셔야 하며, 초기화 이후로는 값의 변경이 불가능한 것을 알 수 있습니다.

     

    오늘은 변수 그리고 상수에 대해서 알아보았습니다.

    반응형

    댓글

choi.devs