ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C# 데이터 유형은?
    IT/C# 2024. 11. 24. 09:24
    728x90
    반응형

    C#의 데이터 유형(Data Type)은 크게 **값 형식(Value Type)**과 **참조 형식(Reference Type)**으로 나뉘며, 데이터의 저장 방식과 메모리 관리가 다릅니다.


    1. 값 형식 (Value Types)

    값 형식은 데이터를 **스택(Stack)**에 저장하며, 변수 자체가 값을 직접 보유합니다.

    기본 값 형식

    • 정수형
      • byte (1바이트, 0~255)
      • sbyte (1바이트, -128~127)
      • short (2바이트, -32,768~32,767)
      • ushort (2바이트, 0~65,535)
      • int (4바이트, -2,147,483,648~2,147,483,647)
      • uint (4바이트, 0~4,294,967,295)
      • long (8바이트, -9,223,372,036,854,775,808~9,223,372,036,854,775,807)
      • ulong (8바이트, 0~18,446,744,073,709,551,615)
    • 부동 소수점 형식
      • float (4바이트, 약 ±1.5e-45 ~ ±3.4e38, 소수점 7자리)
      • double (8바이트, 약 ±5.0e-324 ~ ±1.7e308, 소수점 15~16자리)
      • decimal (16바이트, ±1.0 × 10^-28 ~ ±7.9 × 10^28, 소수점 28~29자리, 금융 계산용)
    • 문자 및 논리형
      • char (2바이트, 유니코드 문자 하나, ex: 'A', '가')
      • bool (1바이트, true 또는 false)
    • 기타
      • enum (사용자 정의 열거형)
      • struct (사용자 정의 구조체)

    2. 참조 형식 (Reference Types)

    참조 형식은 데이터를 **힙(Heap)**에 저장하며, 변수는 데이터의 메모리 주소를 참조합니다.

    기본 참조 형식

    • 문자열(String)
      • string (문자열을 저장, ex: "Hello, World!")
    • 객체(Object)
      • 모든 타입의 기본 클래스.
      • ex: object obj = 42;
    • 배열(Array)
      • 동일한 데이터 유형의 집합, ex: int[] arr = {1, 2, 3};
    • 클래스(Class)
      • 사용자 정의 데이터 구조, 객체 지향의 핵심.
    • 인터페이스(Interface)
      • 클래스 또는 구조체에 구현을 강제하는 메서드 및 속성의 집합.
    • 델리게이트(Delegate)
      • 메서드 참조를 저장하는 형식.

    3. Nullable 타입

    • 값 형식에도 null을 할당할 수 있도록 만든 타입.
    • ex: int? nullableInt = null;
    • Nullable<T> 또는 ?를 사용.

    4. 동적 형식 (Dynamic Types)

    • dynamic
      • 런타임에 데이터 형식이 결정됨.
      • ex: dynamic value = 10;

    5. 타입 키워드와 System 네임스페이스

    C#의 기본 데이터 유형은 실제로 System 네임스페이스의 클래스 및 구조체로 구현됩니다.

    • 예: int는 System.Int32와 동일, string은 System.String과 동일.

    6. 사용자 정의 데이터 유형

    • 구조체(struct)
      • 값 형식 사용자 정의.
      • ex: struct Point { public int X; public int Y; }
    • 열거형(enum)
      • 상수 집합 정의.
      • ex: enum Days { Sunday, Monday, Tuesday };

    C#은 다양한 데이터 유형을 통해 강력한 타입 안정성을 제공하며, 다양한 상황에서 효율적으로 데이터를 다룰 수 있게 설계되어 있습니다.

    728x90

    'IT > C#' 카테고리의 다른 글

    C#과 VB.NET의 차이  (41) 2024.11.25
    C# 개발툴은?  (38) 2024.11.24
    C# Class는?  (45) 2024.11.24
    C# 기본 문법  (42) 2024.11.24
    C# 이란?  (41) 2024.11.24
Designed by Tistory.