object 형식은 참조 형식이기 때문에 힙에 데이터를 할당합니다. int 형식이나 double 형식은 값 형식이기 때문에 스택에 데이터를 할당합니다.
object 형식은 값 형식의 데이터를 힙에 할당하기 위한 "박싱(Boxing)" 기능을 제공합니다.
object 형식에 값 형식의 데이터를 할당하려는 시도가 이루어지면 object 형식은 박싱을 수행해서 해당 데이터를 힙에 할당합니다.
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
|
using System;
namespace BoxingUnboxing
{
class MainApp
{
static void Main(string[] args)
{
int a = 123;
object b = (object)a;
int c = (int)b;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
double x = 3.1414213;
object y = x;
double z = (double)y;
Console.WriteLine(x);
Console.WriteLine(y);
Console.WriteLine(z);
}
}
}
|
cs |

이러한 실행 결과를 얻을 수 있다.
'C#' 카테고리의 다른 글
크기가 서로 다른 부동 소수점 형식 사이의 변환 (0) | 2022.07.18 |
---|---|
크기가 서로 다른 정수 형식 사이의 변환 (0) | 2022.07.15 |
object 형식의 이해 (0) | 2022.07.15 |
논리 형식 bool의 이해 (0) | 2022.07.15 |
string 형식의 이해 (0) | 2022.07.15 |