• Home
  • About
    • KKsDev photo

      KKsDev

      게임 프로그래머를 목표로 Unity, C#을 공부하고 있습니다.

    • Learn More
    • Email
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

박싱 언박싱

30 Oct 2023

Reading time ~1 minute

nbcbanner

  1. 박싱 언박싱



기술 면접 예상 질문 - 박싱과 언박싱에 대하여 설명해주세요.

박싱 언박싱 이란?

C#에서는 모든 인스턴스의 최상위 부모인 Object클래스가 존재한다.

박싱 이란 값 타입을 참조 타입으로 변환하는 프로세스로 값 타입을 기반으로 새로운 Object 객체를 생성한다.

언박싱 이란 Object를 다시 원래의 형식으로 되돌리는 프로세스를 말한다.

박싱 언박싱을 사용할 때 주의해야 할 점이 있다면 무엇이 있나요?

  1. 박싱 언박싱을 사용하게 되면 항상 새로운 메모리에 값을 복사해야 하기 때문에 성능 저하를 일으킬 수 있다.

  2. 잘못된 타입으로 언박싱을 시도 했을때 런타임 오류가 발생한다.

박싱 언박싱을 피하는 방법

  1. 제네릭을 사용한다.

  2. 기능을 구현할 때 오버로드를 사용해 값과 참조 타입 모두를 처리할 수 있도록 한다.

Summary

박싱 언박싱은 값 타입과 참조 타입 간의 변환 프로세스를 말합니다.

하지만 값을 복사하거나, 메모리를 새로 할당 해야하고 타입 안전성에 문제가 생기기 때문에

제네릭, 오버로드를 사용해 피하는 것이 좋습니다.



nbcthumbnail



TIL내일배움캠프스파르타기술면접 Share Tweet +1