호빵의 IT 개발소

박싱(Boxing) vs 언박싱(Unboxing) 차이점 본문

CS(전공지식)/기술면접 준비

박싱(Boxing) vs 언박싱(Unboxing) 차이점

호빵Stack 2025. 3. 29. 23:39
박싱(Boxing) vs 언박싱(Unboxing) 차이점 요약
  • 정의
    • 박싱: 값 타입(Value Type)을 참조 타입(Reference Type)으로 변환
    • 언박싱: 참조 타입을 다시 값 타입으로 변환
  • 발생 시점
    • 박싱: 값 타입을 object나 인터페이스 타입에 할당할 때
    • 언박싱: object에서 원래 값 타입으로 꺼낼 때 (명시적 캐스팅 필요)
  • 성능
    • 둘 다 오버헤드 발생 (힙 할당 및 캐스팅 비용)
    • 반복적인 박싱/언박싱은 성능 저하 유발 가능

 

 

면접 스타일 답변 예시:

박싱은 값 타입을 참조 타입으로 변환하는 과정으로 예를 들어 int 값을 object 타입 변수에 저장할 때 발생합니다. 반대로 언박싱은 참조 타입에서 다시 원래의 값 타입으로 변환하는 과정이며 명시적인 캐스팅이 필요합니다.
박싱과 언박싱은 유용하지만 내부적으로 힙 메모리 할당과 추가 연산이 발생하기 때문에 반복적으로 사용하면 성능에 영향을 줄 수 있어 주의가 필요합니다.
Comments