본문 바로가기
프로그래밍/C#

C#] 형식 변환

by 곰나나 2024. 1. 10.

[형식 변환]

1. 형식 변환

형식 변환은 데이터의 타입을 다른 타입으로 변환하는 과정을 말한다. 형식 변환은 명시적(explicit)으로 이루어지거나 암시적(implicit)으로 이루어질 수 있다.

 

2. 명시적 형식 변환 (Explicit Conversion)

데이터의 손실이 발생할 수 있는 경우, 또는 큰 크기의 데이터 타입에서 작은 크기의 데이터 타입으로의 변환을 원하는 경우, 명시적으로 형식을 변환해야 한다. 

예) double에서 int로의 명시적 변환은 소수점 이하의 데이터를 잃을 수 있기 때문에 명시적으로 변환해야 합니다. 캐스팅(casting)라고도 한다.

 

3. 암시적 형식 변환 (Implicit Conversion)

C#에서는 자동으로 형식을 변환하는 경우가 있다. 이는 작은 크기의 데이터 타입에서 큰 크기의 데이터 타입으로의 변환이다. 데이터 손실이 발생하지 않으므로 컴파일러가 자동으로 수행한다.

예) int에서 long으로의 암시적 변환은 데이터 손실이 없으므로 자동으로 이루어집니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;
 
internal class TypeConversion
{
    static void Main()
    {
        //& 변수 선언 (long 맥스값을 저장)
        double DoubleValue = double.MaxValue; 
        //& 명시적으로 long을 int로 변환
        int IntValue = (int)DoubleValue;
        //& 변수 선언 (int 맥스값을 저장)
        int intValue = int.MaxValue;
        //& 명시적으로 int를 long으로 변환
        long longValue = (long)intValue;
 
        //& 결과 출력
        Console.WriteLine("double을 int로 명시적 형 변환");
        Console.WriteLine($"DoubleValue : {DoubleValue}");
        Console.WriteLine($"IntValue : {IntValue}");
        Console.WriteLine();
        Console.WriteLine("int를 long으로 명시적 형변환");
        Console.WriteLine($"intValue: {intValue}");
        Console.WriteLine($"longValue: {longValue}");
 
    }// Main
}// TypeConversion
 
cs

728x90

'프로그래밍 > C#' 카테고리의 다른 글

C#] 연산자  (0) 2024.01.11
C#] Convert 클래스의 메서드들을 사용하여 데이터 타입을 변환  (0) 2024.01.10
C#] 입력문  (0) 2024.01.10
C#] 데이터 형식  (1) 2024.01.10
C#] 상수  (1) 2024.01.10