728x90
반응형
Boxing (박싱)
- 값 타입을 참조 타입으로 형변환하는 것을 말한다.
값 타입은 스택 메모리에 쌓이는데 박싱을 통해 힙 메모리에 object 형식으로 선언이 되고 값이 복사된다.
그리고 스택 메모리에 박싱된 object의 주소 값을 쌓는다.
UnBoxing (언박싱)
- 참조 타입을 값 타입으로 형변환하는 것을 말한다.
박싱된 값인지 확인하고 값 타입 변수에 복사하는 과정을 가진다.
그 과정 중에 박싱한 메모리와 언박싱한 메모리가 존재하게 되어 가비지가 발생하게 된다.
간혹 편리해서 박싱/언박싱을 하기도 하는데 좋지 않은 습관이다.
object로 파라미터를 넘겨야하는 상황이라면 되도록이면 제너릭 형태로 구조를 개선해보자
반응형
'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글
C# GC의 이해 및 메모리 최적화 (4) | 2021.01.31 |
---|---|
String, StringBuilder의 차이 (4) | 2021.01.30 |
OSI 7계층 (0) | 2021.01.28 |
Goto (0) | 2020.09.25 |
람다식 (3) | 2020.05.15 |