Boxing / Unboxing

최장범·2023년 11월 2일

공부

목록 보기
9/24

Boxing

  • Boxing (박싱)

    • Object형식 또는 인터페이스 형식으로 변환할때 발생
    • 값 형식이 heap(힙) 메모리에 할당되기때문에, 성능저하를 불러올 수 있다.
    • 값 형식을 참조 형식으로 변환하는 작업
      int i = 2
              object obj = i;
              //박싱

Unboxing

  • Unboxing (언박싱)
    • 힙 메모리에 할당된 값을 다시 스택으로 옮김
    • 언박싱은 박싱된 값을 원래의 값 형식으로 변환하는 작업
      object obj = 2;
      int i = (int)obj;
      //언박싱

사용시 주의점

  • 성능 저하
    - 메모리 할당과 복사를 빈번하게 할 경우 성능저하가 심해질 수 있다.
  • 추가 메모리 사용
    - 박싱된 값이 힙 메모리에 저장되기에 이는 추가 메모리를 상용하게 되는것이고, 가비지 컬렉션이 작업이 늘어나게 될 수 있습니다.

0개의 댓글