Page 10 -
P. 10

C#에서는 형(type)이나 형 멤버, 지역 변수를 선언해야 한다.
 1.1                형 멤버를 선언하지 않고 사용할 수 있는 방법도 있지만, 사용 빈도가 낮다. 왜일까?
 The C# Best Know-how


 선수 선서는 반드시 처음에 하자:    운동회로 치면 가능한 한 선수 선서를 하지 않고 하나라도 많은 경기에 참여하는 것이
                    옳을까?
 선언 처리              코드로 말하면 다음 프로그램의 int a;는 필요 없는 부분일까? 이 부분을 지우고 바로 계

                    산 처리를 작성하는 것이 맞지 않을까?

                     using System;

 선언이란 무엇인가?          class Program
                     {
 그래머양     C#에서는 변수를 사용하려면 미리 선언을 해야 하잖아?      static void Main(string[] args)
                         {
    도빈      그렇지.
                             int a;
 그래머양       왜 꼭 선언을 해야 하지? 운동회 ‘프로그램(순서)’을 예로 들어서 설명해줘.          a = 1 + 2;
                             Console.WriteLine(a);
    도빈      운동회 순서로 말하자면 선수 선서에 해당한다고 할 수 있지.
                         }
                     }
 그래머양       선수 선서는 형식적인 거잖아. 하든 말든 운동회에는 영향을 끼치지 않아.
    도빈      일단 운동회에 참가 중인 굿맨과 배드맨을 만나보자.  기술적으로는 int a;를 제거해도 문제가 없다.

    굿맨        이봐! 마라톤에서 지름길로 가는 건 반칙이야.
                    왜냐하면 코드에 a라는 변수명이 나오는 이상 변수 a를 사용하는 것이 분명하기 때문이다.
   배드맨       규칙에 지름길이 반칙이라고 적혀 있지 않은걸?  사용이 명백하다면 시스템이 알아서 변수 영역을 확보할 수 있다. 형은 어떨까? 사실 int형
                    인 1과 2를 더한 결과를 저장하므로 변수 a가 int형임을 추측할 수 있다. 즉, ‘변수 a를 정수
    굿맨        그래도 그건 스포츠 정신에 어긋나는 거라고!
                    형으로 선언한다’는 의미인 int a;를 제거해도 된다.
   배드맨       나는 스포츠 정신 같은 거 선언한 적이 없으니 마음껏 반칙해도 상관없어.
                    사실 반드시 변수를 선언하지 않아도 되는 프로그래밍 언어도 있다. 단순히 C#이 다른
    굿맨        그러면 나도 지름길로 갈까…….
                    길을 선택했다고 볼 수 있다. 하지만 진짜 문제는 여기서부터다. 왜 C#은 삭제해도 되는
   배드맨       그건 안 되지. 굿맨은 선수 선서를 할 때 스포츠 정신에 따라 정정당당하게 싸
                    선언을 반드시 하게끔 만들었을까? 왜 C# 프로그래머는 생략 가능한 선언을 해야 하는 것
 울 거라고 선언했잖아. 너는 지름길로 갈 수 없어. 스포츠 정신에 어긋나니까.
                    일까?
    굿맨        쳇, 비겁한 녀석.
                    다시 운동회 얘기로 돌아가 보자. 왜 운동회에서는 제일 먼저 선수 선서를 할까? 왜 ‘스포츠
                    정신에 따라 정정당당하게 싸운다’는 것을 선언해야 하는 걸까? 이기기 위해 부정행위를 하
                    는 선수가 있기 때문이다.




                                                                        1장  기본에 숨겨진 함정 017
   5   6   7   8   9   10   11   12   13   14   15