• 회원가입
  • 로그인
  • 구글아이디로 로그인

[basic] C# - Data Type (데이터 타입) - 자료형 (종류 + 변환)

5,510  
목차
  1. C# 변수 특징
  2. 기본 자료형
  3. 숫자 (int, float, double)
  4. 참거짓 (bool)
  5. 단일문자 (char)
  6. 문자열 (string)
  7. 자료형 변환 종류 (Type Casting)
  8. 자료형 확대 변환 (= 암묵적 변환 Implicit Casting)
  9. 자료형 축소 변환 (= 명시적 변환 Explicit Casting)
  10. 자료형 변환 메서드 종류

 

C# 변수 특징

 

C#에서 변수는 자료형이 지정되어 있어야 함.

 


[예제]

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      int a = 2; // 정수

      float b = 3.56f; // 부동소수

      double c = 7.89d; // 부동소수

      char d = 'A'; // 단일문자

      bool e = true; // 참거짓

      string f = "Homzzang.com"; // 문자열

      Console.WriteLine(a); // 2

      Console.WriteLine(b); // 3.56

      Console.WriteLine(c); // 7.89

      Console.WriteLine(d); // A

      Console.WriteLine(e); // True

      Console.WriteLine(f); // Homzzang.com

    }

  }

}

 

 

기본 자료형

※ 자료형은 소문자로 기재. (※ C++도 마찬가지.)

cf. Java 경우, String 자료형은 첫 글자가 대문자임. 

 

int 

4 bytes 크기. 정수

※ 예제: 3

※ 범위: -2,147,483,648 ~ 2,147,483,647


long

8 bytes 크기. 정수

※ 예제: 3L

※ 범위: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

 

float

4 bytes 크기. 부동소수. (=실수)
※ 예제: 3.45f, 3.45F

※ 10진수 6~7자리 저장에 충분.

※ 소수점 6~7 자리 가능.

 

double

8 bytes 크기. 부동소수. (=실수)
※ 예제: 3.45, 3.45d, 3.45D

※ 10진수 15자리 저장에 충분.

※ 소수점 15 자리 가능. 

※ float 보다 정밀도가 높아, 정밀한 계산에 적합.

 

bool

1 byte 크기. 참거짓 (boolean).
※ 예제: true, false 


char

1 byte 크기. 단일문자(character) (예) 'H', 'Z'

※ 단일문자 저장. 

※ 작은따옴표로 묶음.

 

string

문자 당 2bytes 크기. 문자열.
※ 예제: "Hz"  

※ 큰따옴표로 묶음.

Java와 달리 첫 글자도 소문자로 기재.

 

 

숫자 (int, float, double)

 

정수는 int 자료형, 실수는 double 자료형이 자주 사용됨.

 


[int : 정수형 (4 bytes)] ★ 

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      int num = 999999;

      Console.WriteLine(num); // 999999

    }

  }

}

 


[long: 정수형 (8bytes)]


using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      long num = 12345678901L;

      Console.WriteLine(num); // 12345678901

    }

  }

 


[float : 부동소수형]


using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      float num = 3.45F;

      Console.WriteLine(num); // 3.45

    }

  }

}

 


[double : 부동소수형] ★

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      double num = 3.35D;

      Console.WriteLine(num);

    }

  }

}

 


PS. 부동소수는 e (또는 E : 과학적숫자. 10의 승수) 사용 가능.

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      float a = 34e2F; // 3400

      double b = 56E3D; // 56000

      Console.WriteLine(a); 

      Console.WriteLine(b);

    }

  }

}

 

 

참거짓 (bool)

 

bool 키워드로 boolean (참거짓) 자료형 지정.

※ boolean 경우, true와 false 취할 수 있음.

※ true 경우, True 반환.  (cf. C++ 경우, 1 반환.)

※ false 경우, False 반환.  (cf. C++ 경우, 0 반환.)

※ 1 byte 크기.

※ 조건문에서 자주 사용.

 


[예제]

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      bool isHzGood = true;

      bool isHzBad = false;

      Console.WriteLine(isHzGood); // True

      Console.WriteLine(isHzBad); // False    

    }

  }

}

 

 

단일문자 (char)

 

단일문자 저장에 사용.

※ 작은따옴표로 묶음. (예) 'H', 'z'

※ 1 byte 크기.

 


[예제] 단일문자 저장.

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      char myGrade = 'A';

      Console.WriteLine(myGrade); // A

    }

  }

}

 


cf. 

단일문자 나타내는 ASCII 값 저장 경우, 

C++은 가능한데, C#은 불가능.

 

 

문자열 (string)

 

string 자료형은 기본 자료형은 아니며, 큰따옴표("")로 묶음.

 


[예제]

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      string hz = "홈짱닷컴 Homzzang.com";

      Console.WriteLine(hz);

    }

  }

}


결과값: 홈짱닷컴 Homzzang.com

 

자료형 변환 종류 (Type Casting)

 

확대 변환 (= 암묵적 변환 Implicit Casting)

※ 정의:  (小  → 大) 경우, 자동 변환.

※ 예제: char -> int -> long -> float ->double


축소 변환 (= 명시적 변환 Explicit Casting) : 

※ 정의: (大 → 小) 경우, 수동 변환.

※ 예제: double -> float -> long -> int ->char

 

 

자료형 확대 변환 (= 암묵적 변환 Implicit Casting)

 

(小 → 大) 자료형 변환 경우, 할당 시 바로 자동 변환.

 


[예제]

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      int a = 9;

      double b = a; 

      Console.WriteLine(a.GetType()); // System.Int32

      Console.WriteLine(b.GetType()); // System.Double

    }

  }

}

 

 

자료형 축소 변환 (= 명시적 변환 Explicit Casting)

 

(大 → 小) 자료형 변환 경우, 수동 변환.

※ 값 앞에 소괄호 이용해 (Type) 기재.

 


[예제] 

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      double a = 3.45;

      int b = (int) a;

      Console.WriteLine(a.GetType()); // System.Double

      Console.WriteLine(b.GetType()); // System.Int32

    }

  }

}


 

자료형 변환 메서드 종류

 

Convert.ToBoolean() : bool형으로 변환. 

Convert.ToDouble() : double형으로 변환.

Convert.ToString() : string형으로 변환.

Convert.ToInt32() : int형으로 변환.

Convert.ToInt64() : long형으로 변환.

 

주의: 

Convert.ToFloat() 메서드는 존재 안 함.

대신, Convert.ToSingle() 메서드 사용하며,

Convert.ToSingle().GetType() 결과값은 System.Single임.

 


[예제]

 

using System;

namespace Homzzang

{

  class Program

  {

    static void Main(string[] args)

    {

      int a = 7;

      double b = 3.14;

      bool c = true;


      Console.WriteLine(Convert.ToString(a).GetType());

      // System.String

 

      Console.WriteLine(Convert.ToSingle(a).GetType());

      // System.Single

 

      Console.WriteLine(Convert.ToDouble(a).GetType());

      // System.Double


      Console.WriteLine(Convert.ToInt32(b).GetType());

      // System.Int32


      Console.WriteLine(Convert.ToString(c).GetType());

      // System.String

    }

  }

}




분류 제목
basic C# - Home (입문) - 추천 링크
basic C# - Intro (소개) - 용도・특징
basic C# - Start (시작) - Visual Studio Community 설치/실행/세팅
basic C# - Syntax (구문)
basic C# - Output (출력)
basic C# - New Lines (줄바꿈)
basic C# - Comment (주석)
basic C# - Variable (변수)
basic C# - User Input (사용자 입력)
basic C# - Data Type (데이터 타입) - 자료형 (종류 + 변환)
basic C# - Operator (연산자)
basic C# - String (문자열)
basic C# - Math (수학)
basic C# - Boolean (참거짓)
basic C# - If ... Else - (이프 조건문)
basic C# - Switch (스위치 조건문)
basic C# - While Loop (와일 반복문)
basic C# - For Loop (포 반복문)
basic C# - Break/Continue (브레이크/컨티뉴) 키워드 - 반복문 빠져나가기 / 특정 조건 건너띄기
basic C# - Arrays (배열)
1/2
목록
찾아주셔서 감사합니다. Since 2012