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억 숫자 표현
- sbyte
- Floating-point numeric types 실수형
- float
- System.Single
- 4byte (32bit)
- 7 유효자릿수
- double
- System.Double
- 8byte (64bit)
- 15~16 유효자릿수
- float
- Character types 문자형
- char
- ‘ 작은 따옴표 사용
- System.Char
- 유니코드 2byte (16bit)
- string
- 문자열, “ 큰 따옴표 사용
- System.String
- (일반적으로 string으로 쓰고 using System 생략가능)
- Reference type(참조형)
- immuatable(변하지 않음)
- char
- Boolean 논리형
- bool
- System.Boolean
- 1byte (8bit)
- true / false
- bool
- 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 공간에 메모리가 할당된다.
- 메모리 공간에는 실제 값이 저장된다.
- 할당 시 값의 복사본이 생성되고 또 다른 메모리 공간에 저장된다.