박싱 : 값 형식을 참조 형식으로 변화하는 것
언박싱 : 참조 형식을 값 형식으로 변환하는 것
박싱
1. 스택의 데이터가 힙으로 복사
예)
int = 123;
object o = i; //박싱(묵시적 변환)
언박싱1. 힙에 있는 데이터가 스택으로 복사
예)
int i = 123; //값 형식
object o = i; //박싱
int j = (int) o; //언박싱(명시적 변환)
>> 박싱/언박싱은 비용이 꽤나 많이 드는 작업
값 형식을 박싱 하는 경우 완전히 새로운 객체를 할당하고 구성해야 하며 언박싱에 필요한 캐스팅도
상당한 계산 과정이 필요합니다
“boxing 및 unboxing 과정에는 많은 처리 작업이 필요합니다. 값 형식을 boxing할 때는 완전히 새로운 개체가
만들어져야 하며, 이러한 작업에는 할당 작업보다 최대 20배의 시간이 걸립니다. unboxing을 할 때는 캐스팅
과정에 할당 작업보다 4배의 시간이 걸릴 수 있습니다”
만들어져야 하며, 이러한 작업에는 할당 작업보다 최대 20배의 시간이 걸립니다. unboxing을 할 때는 캐스팅
과정에 할당 작업보다 4배의 시간이 걸릴 수 있습니다”
편리하기는 하지만 그 만큼의 비용은 지불해야 하는 것입니다
댓글 없음:
댓글 쓰기