[C#] 다양한 타입(object, dynamic, var)C#/C#정리2021. 9. 28. 19:45
Table of Contents
object : boxing, unboxing
모든타입이 상속 받아야하는 최상단 타입
그렇기 때문에 모든 타입은 object 타입으로 형 변환이 가능하다.
이때 boxing, unboxing 이라고 한다.
dynamic
루비나 파이썬같은 동적 언어도 .NET프레임워크에서 실행할 수 있게 연동하기위해 나왔다.
var와 비슷해 보이지만
var는 컴파일 빌드 시점에 초기값과 대응되는 타입으로 치환하지만
dynamic은 해당 프로그램이 실행되는 시점에 타입을 결정한다.
var
박싱
값 형식을 참조 형식으로 변환하는 것
ex) int → object
언박싱
참조 형식을 값 형식으로 변환하는 것
ex) object형 → 실제로 사용할 다른 타입으로 변환하는것
중요한 이유
boxing이 되면 참조 형식으로 변환되어
스택 : 주소
힙 : 실제 값
이 들어가게 된다.
힙을 사용함으로서 GC에게 일을 만들어주게되어 좋지 않아진다.
최대한 boxing을 줄이는 코드를 작성할것을 권장한다.
반응형
'C# > C#정리' 카테고리의 다른 글
[C#] Thread 쓰레드 동기화 (0) | 2021.09.28 |
---|---|
[C#] Thread 쓰레드 (0) | 2021.09.28 |
[C#] 메소드 오버로드 (0) | 2021.09.20 |
[C#] 메소드 오버라이드(딩) (0) | 2021.09.20 |
[C#] 접근제한자 총 정리 (0) | 2021.09.20 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!