본문 바로가기
프로그래밍 놀이터/C, C++, C#, VB

[Java 개발자가 공부해본 C#] 변수 초기화 ( Initialize ) 에 대하여.

by 돼지왕 왕돼지 2012. 4. 15.
반응형


안녕하세요 돼지왕왕돼지입니다.

이번에는 변수 초기화 ( Initialize ) 에 대해 알아보겠습니다.


기본적으로 C#의 변수 초기화는 Java 와 같은 맥락입니다. ( C# 이 Java 를 흉내낸 언어라는 말이 많은데, 사실여부를 떠나 닮은 점은 매우 많습니다. ) Local 변수를 initialize 를 하지 않은 상태에서 사용하려고 하면, Initialize 되지 않았다는 이유로 compile 자체가 되지 않습니다. 그럼 Global Variable 의 경우는 어떨까요? Global Variable 의 경우는 default 초기값이 assign 이 됩니다. 예를 들어 0 이 들어가는 것이겠죠. 다음 코드들을 통해서 개념을 잡아봅시다.

<C#>

using System;

namespace BrainCSharp
{
   class HelloWorld
   {
      static int a;
      static void Main( string[] args )
      {
         Console.WriteLine( "HelloWorld {0}", a ); 
      }
   }
}


<결과>

HelloWorld 0


감이 오시나요? 그럼 Java 와 똑같다고 하면 될 것을 왜 이렇게 포스팅을 하느냐? 이유는 C, C++ 과의 Compatibility 문제 때문입니다. C와 C++ 에서는 Initialize 하지 않은 변수를 사용하게 될 경우 compile 에러가 나지는 않습니다. 다만, 소위 말하는 쓰레기 값 ( garbage value ) 이 해당 변수에 할당되어 있습니다. 이를 주의하고자 포스팅하였습니다.





반응형

댓글