NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    C# 2. Boolean 형식

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. C#은 컴파일 언어면서 강력한 형식(스트롱 타입 또는 강타입, Strong Type)을 사용할 수 있는 개체 지향 언어입니다.  형식(Type)은 char, integer, double, boolean과 같은 Primitive type(기본 형식)과 Array, String, Class와 같은 Reference type(참조 형식)으로 나뉩니다. Javascript와 같은 언어(보통은 스크립트라고 부르는...)에 비해 컴파일 언어만이 가지는 장점이 존재합니다. 현재에 와서는 타입을 유추하는 언어들도 강력한 형식을 사용하는 방향으로 진화하고 있습니다. 대표적으로 typescript가 있죠^^; 그리고, 강력한 형식 지정 언어들도 타입 유추하는 방향으로 가기도 합니다. C#도 var 키워드를 이용해서 런타임에 형식 유추를 할 수 있습니다. 이런 어려운 이야기들은 다음에 좀 더 자세히 알아보도록 하고, 가장 기본이 되는 불리언에 대해 알아보도록 하겠습니다.

    BCXB17z.gif

     

     

    불리언은 참(true) 또는 거짓(false)을 판단할 때 사용하는 논리형입니다. 이 자료형은 Primitive type으로 실제 값을 Stack(스택) 메모리에 저장합니다. 할당되는 메모리의 크기는 1byte이며 기본값은 false입니다. 우리도 매 순간마다 선택을 해야 하듯 프로그램도 같습니다. 보통 bool 키워드를 사용하며 ,이것은 System.Boolean의 별칭(Alias)으로 Built-in type이라 불립니다. bool 또는 System.Boolean을 사용해도 아무런 상관이 없습니다만, 가급적이면 별칭을 사용하는게 좋겠습니다^^;

     

    이전 강좌의 프로젝트에서 Program.cs 파일을 아래와 같이 코드를 변경합니다.

    using System;
    using System.Collections.Generic;
    using System.Text;
     
    namespace HelloWorld
    {
        class Program
        {
            public static bool IsProgramer { get; set; }
     
            static void Main(string[] args)
            {
                bool a = true;
                bool b = false;
                Console.WriteLine(a);
                Console.WriteLine(b);
                Console.WriteLine(IsProgramer);
                Console.ReadLine();
            }
        }
    }

      

      

    이 응용 프로그램을 실행(F5) 해보면 아래와 같이 출력됩니다.

    7kUVaaO.png

     

     

    위의 9라인은 속성(Property)이라고 합니다. 나중에 자세하게 알아보도록 하고, 오늘은 Boolean 변수(Variable)에 대해서만 확인합니다.

     

    이 키워드는 Boolean 값 true 또는 false를 저장하는 변수를 선언하는데 사용됩니다. 여기서 하나 짚고 넘어가야 할 내용이 있는데, ASP, VB, C++등등 다른 언어에서는 Boolean을 int값으로 Casting할 수 있습니다. 그러나, C#, Java에서는 int로 변환을 허용하지 않고 있습니다.

     

    18라인은 아무것도 할당하지 않은 속성에 대한 기본값을 보여줍니다. 그렇다면, Main 메소드 내부에 할당하지 않은 boolean 지역 변수(메소드 안에 선언된 변수)를 만들고 사용하려 하면 어떻게 될까요? Compile 에러를 발생 시킵니다. 할당되지 않은 지역 변수를 사용하려 했기 때문입니다. 그러나, 맴버 변수(클래스 안에 선언된 변수)는 자동으로 기본값으로 설정됩니다. 따라서 9라인에 있는 Property는 정상적으로 컴파일이 됩니다. 여기에서 한가지 알게되는 사실은 할당하지 않은 맴버 변수인 Boolean은 기본 값으로 false를 가진다는 것입니다.

    rI3sqdy.jpg

     

     

    이렇듯 맴버 변수는 몇가지 이점이 있는데 그렇다고 해서 모든 지역 변수를 맴버 변수로 올리는 것은 바람직하지 않습니다. 맴버 변수가 많다는 의미는 코드가 복잡하다는 의미도 내포하고 있기 때문입니다.

     

    다음 시간에...

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.