OOP/C#

자료형 Data type

now2ah 2025. 2. 3. 17:45
  • Integral numeric types 정수형
    • sbyte
      • signed 8bit
      • -128~127
    • byte
      • unsigned 8bit
      • 0~255 숫자 표현
    • short
      • System.Int16
      • -32,768~32,767 숫자 표현
      • signed 16bit
    • ushort
      • 0~65,535 숫자 표현
      • unsigned 16bit
    • int
      • System.Int32
      • signed 32bit
      • 약 -21억 ~ 21억 숫자 표현
    • uint
      • unsigned 32bit
      • 0~약 42억 숫자 표현
  • Floating-point numeric types 실수형
    • float
      • System.Single
      • 4byte (32bit)
      • 7 유효자릿수
    • double
      • System.Double
      • 8byte (64bit)
      • 15~16 유효자릿수
  • Character types 문자형
    • char
      • ‘ 작은 따옴표 사용
      • System.Char
      • 유니코드 2byte (16bit)
    • string
      • 문자열, “ 큰 따옴표 사용
      • System.String
        • (일반적으로 string으로 쓰고 using System 생략가능)
      • Reference type(참조형)
      • immuatable(변하지 않음)
  • Boolean 논리형
    • bool
      • System.Boolean
      • 1byte (8bit)
      • true / false
  • Object Type
    • C#의 모든 type은 System.Object class 를 암시적으로 상속 받는다.
     

  • Reference Type (참조 형식)
    • class, array, delegate, interface…
    • Managed heap 공간에 메모리가 할당된다.
    • 메모리 공간에는 실제 값이 담긴 공간의 주소가 담겨있다.
    • 할당 시 heap 메모리 주소의 참조가 복사 된다.
  • Value Type (값 형식)
    • string을 제외한 primitive type(int, float, bool…)
    • enum, struct type
    • System.ValueType을 상속 받는다.
      • System.ValueType은 System.Object를 상속받기 때문에 System.Object의 기본 메서드들을 제공받는다.
    • Stack 공간에 메모리가 할당된다.
    • 메모리 공간에는 실제 값이 저장된다.
    • 할당 시 값의 복사본이 생성되고 또 다른 메모리 공간에 저장된다.