반응형
안녕하세요 돼지왕왕돼지입니다.
이번에는 변수 초기화 ( 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 ) 이 해당 변수에 할당되어 있습니다. 이를 주의하고자 포스팅하였습니다.
반응형
'프로그래밍 놀이터 > C, C++, C#, VB' 카테고리의 다른 글
[Java 개발자가 공부해본 C#] C#에서 제공하는 Data Type. (0) | 2012.04.15 |
---|---|
[Java 개발자가 공부해본 C#] Stack Memory, Heap Memory, Variable, Reference 의 관계 (0) | 2012.04.15 |
[Java 개발자가 공부해본 C#] CLR ( Common Language Runtime ) 에 대하여. (0) | 2012.04.15 |
[Java 개발자가 공부해본 C#] C#에서 Exception 이 발생하면.. (2) | 2012.04.15 |
[Java 개발자가 공부해본 C#] HelloWorld. (4) | 2012.04.12 |
댓글