[C#] 02. 프로그래밍 시작과 변수와 상수를 선언하는 방법


Study/C#  2020. 6. 22. 16:57

안녕하세요. 명월입니다.


이 글은 C#에서 프로그래밍 시작과 변수와 상수를 선언하는 방법에 대한 글입니다.


C#에서 하나의 프로그램을 만들고 실행하려고 하면 기본적으로 클래스와 함수를 알아야 하고, 기본적인 라이브러리 사용법등을 알아야 합니다.

using System;
namespace Example3
{
  class Program
  {
    // 실행 함수
    static void Main(string[] args)
    {
      // Console 출력
      Console.WriteLine("Press Any Key...");
      // 클릭시 종료
      Console.ReadKey();
    }
  }
}

이 소스를 F5를 눌러서 실행하게 되면 아래와 같은 메시지가 표시되고 키보드의 아무키나 누르게 되면 프로그램은 종료됩니다.

위 예제만 보더라도 기본적으로 namespace안에 classd안에 Main이라는 함수가 있습니다. Main이란 함수 안에는 string[]이라는 파라미터가 있고 static과 void라는 키워드도 있습니다.

그리고 중괄호 안에는 Console이라는 클래스와 WriteLine과 ReadKey의 함수를 사용하고 있습니다.


먼저 프로그램이 시작하는 함수는 Main이라는 함수에서 실행되고 그 영역은 중괄호({})에서 실행됩니다.

그리고 Console의 클래스는 실행을 했을 때, 도스 창이 보이는 데 그 도스 창에서 작동하는 클래스로 WriteLine는 도스 창에 표시되는 문자, 그리고 ReadKey는 키보드로 입력을 받는 함수입니다.


프로그램을 작성하게 되면 우리가 가장 많이 다루는 용어는 아마 변수와 상수일 것입니다.

프로그램은 간단하게 설명하면 거대한 계산기입니다. 즉, 1 + 1이나 1 + 2의 숫자 계산을 하는 계산기입니다.

프로그램인 계산을 하고 나서 어디인가에 그 값을 저장할 수 있는 기능이 있는 데 이것이 변수입니다.

using System;
namespace Example3
{
  class Program
  {
    // 실행 함수
    static void Main(string[] args)
    {
      // 1 + 1의 값을 a라는 변수에 넣는다.
      int a = 1 + 1;
      // 1 + 2의 값을 b라는 변수에 넣는다.
      int b = 1 + 2;
      // a 라는 변수를 출력한다.
      Console.WriteLine("1 + 1 = a = " + a);
      // b 라는 변수를 출력한다.
      Console.WriteLine("1 + 2 = b = " + b);
      
      // 아무 키나 누르면 종료한다.
      Console.WriteLine("Press Any Key...");
      Console.ReadKey();
    }
  }
}

위 예제에서 제가 1 + 1의 결과 값을 a라는 변수에 넣었습니다. a라는 변수 앞에 int라는 자료형을 선언하였습니다.

즉, 변수는 자료형 + 변수 이름으로 선언을 할 수 있습니다.

그리고 b라는 변수에는 1 + 2의 값을 선언하였습니다.


다시 Console.WriteLine 함수를 사용해서 콘솔에 출력을 하였는데 여기서 ""로 표시되어 있는 것은 문자열로 그대로 콘솔에 출력이 됩니다. 그 뒤에 + a를 넣으므로 a의 변수 값에 저장된 값을 출력하는 것입니다.

변수는 이렇게 숫자 계산한 값을 저장하는 기능을 가지고 있는 이 변수끼리도 더해서 값을 표시할 수 있습니다.

using System;
namespace Example3
{
  class Program
  {
    // 실행 함수
    static void Main(string[] args)
    {
      // a의 변수에는 2가 있다.
      int a = 1 + 1;
      // b의 변수에는 3이 있다.
      int b = 1 + 2;
      // a + b는 2 + 3과 같으므로 c에는 5의 값이 들어간다.
      int c = a + b;
      // c 라는 변수를 출력한다.
      Console.WriteLine("a + b = " + c);

      // 아무 키나 누르면 종료한다.
      Console.WriteLine("Press Any Key...");
      Console.ReadKey();
    }
  }
}

콘솔 창에는 c의 결과가 5가 나왔습니다.


변수는 수를 계산한 값을 넣고 그 값을 수정을 할 수도 있습니다.

using System;
namespace Example3
{
  class Program
  {
    // 실행 함수
    static void Main(string[] args)
    {
      // 변수 a에 2를 넣음
      int a = 2;
      
      // a에 2를 더함 - Debug - 4
      a = a + 2;
      // a에 3를 곱함 - Debug - 12
      a = a * 3;
      // a에 4를 더함 - Debug - 16
      a = a + 4;
      // a에 2를 나눔 - Debug - 8
      a = a / 2;
      // 콘솔 출력
      Console.WriteLine("a = " + a);
      // 아무 키나 누르면 종료한다.
      Console.WriteLine("Press Any Key...");
      Console.ReadKey();
    }
  }
}

위처럼 a 변수에 2를 넣고 2를 더하고 3을 곱하고 4를 다시 더하고 2로 나누는 계산기 같은 계산 결과를 만들 수 있습니다.


우리는 위처럼 a라는 변수에 값이 계속 변하는 것을 변수라는 것을 알았습니다. 그럼 상수는 값이 변하지 않는 수라고 해서 상수라고 합니다.

using System;
namespace Example3
{
  class Program
  {
    // 실행 함수
    static void Main(string[] args)
    {
      // 상수 선언
      const int a = 2;
      // 2를 더한다.
      a = a + 2;
      // 콘솔 출력
      Console.WriteLine("a = " + a);
      // 아무 키나 누르면 종료한다.
      Console.WriteLine("Press Any Key...");
      Console.ReadKey();
    }
  }
}

위 예제 처럼 자료형 변수명 앞에 const 키워드를 사용하면 상수를 선언할 수 있습니다. 위 예제에서는 제가 a라는 상수에 2를 넣고 2를 더하려고 하니깐 에러가 발생하네요.

상수를 변하려고 하였기 때문입니다.


일반적으로 프로그램에서는 변수를 더 많이 사용합니다. 딱히 변하지 않는 값을 사용한다고 해서 상수로 선언한다고 프로그램이 더 빨라지고 성능이 좋아지는 건 없습니다.

그러나 상수는 비교를 위한 대상 키값으로 가끔 사용하기도 합니다.


여기까지 C#에서 프로그래밍 시작과 변수와 상수를 선언하는 방법에 대한 글이었습니다.


궁금한 점이나 잘못된 점이 있으면 댓글 부탁드립니다.