-
스파르타코딩클럽 종합게임개발 Unity_3기 22일차카테고리 없음 2024. 1. 23. 23:38
안녕하세요! 오늘은 드디어 유니티 개인 프로젝트가 끝나고 제출하는 날입니다! 정말 힘들었지만 배워가는게 많은 날이였습니다!! 하지만 끝났다고 느슨해지면 안되겠죠? 바로 내일 팀프로젝트가 시작되니까용!! 그래도 오늘도 쉴겸 TIL을 써야겠습니다!! 전에 값형과 참조형을 말했습니다 오늘은 바로 박싱과 언박싱인데용! 값형과 참조형 사이의 변환을 의미한답니다!
일단은 박싱에 대해서 말씀드리겠습니다! 박싱(Boxing)이란? 박싱은 값형을 참조형으로 변환시키는 과정을 말하는데용!
값형 변수의 값을 메모리 영역의 힙으로 할당시키는 객체로 래핑을 하는 겁니다! 박싱을하면 값형이 참조형의 특징을 가지며 참조형 변수로 사용할수있답니다!! 하지만 많이 사용한다면 오버헤드가 발생할수 있다는점! 조심해야합니다!
언박싱은(Unboxing) 말 그대로 박싱된 객체를 다시 값형으로 변환하는 과정을 말하는데용 박싱된 객체에서 값을 추출하여 값형 변수에 할당을 하는거랍니다! 박싱과 언박싱은 값형과 참조형 사이의 변환 작업이므로 성능에 영향을 주니 조심해야합니다!
int num1 = 10; object obj = num1; // 박싱 int num2 = (int)obj; // 언박싱 Console.WriteLine("num1: " + num1); // 결과: 10 Console.WriteLine("num2: " + num2); // 결과: 10여기서 object는 모든클래스의 직관접적인 상위 클래스이고 모든 클래스는 object에서 상속됩니다!! object는 모든 형식을 참조할수있는 아주 많은걸 담을수있는 타입인거죠!!
(오늘의 명언"끝은 시작을 알리는 것이다")