[C#] new 연산자, boxing

2022. 2. 12. 16:00C#/자료구조

new 연산자란?


클래스로부터 인스턴스 객체를 생성한다.
생성자를 호출한다.

new로 만든 인스턴스는  메모리에 할당된다.
-> 가비지 콜렉터가 관리하는 영역
인스턴스를 아무도 참조하고 있지 않을 때는 GC가 수거해간다.

 




박싱과 언박싱


박싱은 힙에 값 형식을 저장하는 데 사용된다.

값 형식을 박싱하면 힙에 개체 인스턴스가 할당되고

값이 새 개체에 복사된다.

 

언박싱은 개체 인스턴스의 값을 값 형식 변수에 복사하는 데 사용된다.

언박싱의 연산 과정은

  • 개체 인스턴스가 지정한 값 형식을 박싱한 값인지 확인한다.
  • 인스턴스의 값을 값 형식 변수에 복사한다.

https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/types/boxing-and-unboxing

 

Boxing 및 Unboxing - C# 프로그래밍 가이드

C# 프로그래밍의 boxing 및 unboxing에 대해 알아봅니다. 코드 예제를 살펴보고 사용 가능한 추가 리소스를 확인합니다.

docs.microsoft.com

https://velog.io/@cgotjh/C-%EB%B0%95%EC%8B%B1Boxing%EA%B3%BC-%EC%96%B8%EB%B0%95%EC%8B%B1Unboxing

 

C# 박싱(Boxing)과 언박싱(Unboxing)

박싱(Boxing)과 언박싱(Unboxing)

velog.io

박싱 / 언박싱의 장점과 단점을 정리한 글.