본문 바로가기
C#(CSharp)/기초강좌(Basic)

[2] C# 키워드(Keyword) 와 데이터 타입(Data Type)

by swconsulting 2015. 2. 23.

[C# Keyword]


 C# 프로그램을 개발하기 위해서는 미리 정의된 키워드(단어)를 알고 있어야 합니다. 이 키워드는 C#, Java, C/C++ 거의 비슷합니다.

그래서 아래에 나와있는 키워드만 알고 있으면 다른 개발언어 학습이 수월하게 될것 입니다. 참고로 C#은 키워드 개수가 다른 언어에 비해서 적은 편이어서 프로그램 언어를 빠르게 학습 할 수있습니다.






 


이 글을 읽는 분들중 기존에 C#이외 다른 프로그램을 배운 분이시라면 위 키워드 거의 대부분을 알고 있다고 생각해 됩니다.


[C# Data Types]


 C#은 크게 3가지 Data Type이 있습니다.


1)Value Types



 


C#에서는 C/C++와 다르게 변수를 선언한 후 모두 Default Value가 자동으로 설정됩니다. C/C++에서는 쓰레기 값이 입력 되지만 C#에서는 위에 처럼 값이 셋팅됩니다.


그리고 만약 금액(돈) 이거나 결과값 정확성을 요구하는 프로그젝트에서 계산 로직을 개발을 할 경우에는 double 사용을 권장합니다. 제 경험상 소수점 3~4자리까지 계산을 햬야 합니다. 물론 floating 계산이기 때문에 속도는 느려질 수 있습니다.


            //Value type

            int x = 42;



2)Reference Types

 레퍼런스 타입 번역을 하면 참조 타입이다. 이 부분에 대해서는 설명보다 아래 코드를 보면서 설명 하도록 하겠다.


            //Reference type

            int[] numbers = new int[10];


            //Boxing

            int i = 67;                              // i is a value type 

            object o = i;                            // i is boxed

            System.Console.WriteLine(i.ToString());  // i is boxed


            //Unboxing

            System.Collections.ArrayList list =

                new System.Collections.ArrayList();  // list is a reference type 

            int n = 67;                              // n is a value type

            list.Add(n);                             // n is boxed

            n = (int)list[0];                        // list[0] is unboxed



즉, 객체 object 로 value type을 자유롭게 변환할 수 있다는 개념이다. 뒤에서 Generic으로 좀 더 설명을 진행할 예정입니다.


3)String Type

 

 @ 키워드를 사용할 수 있다.


            string p1 = "\\\\My Documents\\My Files\\";

 

            string p2 = @"\\My Documents\My Files\";


즉, p1 == p2는 같다.


다음 블로그에서는 C# Type Conversion에 대해서 알아볼 예정입니다. 



참고 : http://www.tutorialspoint.com/csharp/index.htm