본문 바로가기

c#2

효과적인 C# 메모리 관리 기법 유니티 3D엔진은 다른 엔진들과 달리 콘텐츠 개발을 위한 언어로 C#을 지원한다. C#은 편하고 강력한 언어지만 메모리 관리에 어려움을 겪을 수 있다. 필자가 개발 중인 게임도 C#과 유니티 3D엔진 특성으로 인해 개발 초기에 어려움을 겪었지만 최근 오픈을 앞두고 상당한 메모리 안정화를 이룬 상태다. 이번 시간에는 필자가 NDC 2012에서 강연한 자료를 바탕으로 C#에서 효과적으로 메모리를 관리하는 방법에 대해 알아보자. 조명근 narlamy@ndoors.net|엔도어즈 기술 지원팀 팀장으로 근무하고 있으며, MMORPG ‘아틀란티카’를 개발했다. 덴마크에 있는 유니티 개발팀과 긴밀히 협조해 메모리 문제 등 여러 가지 이슈들을 처리하고 있으며 현재 유니티 3D엔진을 사용해 웹과 모바일 플랫폼을 지원하는.. 2013. 12. 5.
C# 기초 (Boxing과 UnBoxing) 정의 및 예제 Boxing이란 Value-Type을 Reference-Type(Object형) 으로 변환하는 것을 의미하구요. UnBoxing이란 Boxing을 반대 개념입니다. 감이 잘 안오시죠... 예제를 보겠습니다. 아...차~ 모든 데이터 형식은 Object형의 자식이다, Value-Type은 스택에 Reference-Type은 Heap에 생성됩니다. int p = 123; object o; o = p; //명시적 변환으로 (object)p로 해도 무방... 이런 구문이 있다고 한다면... 값 타입인 변수 p의 값을 참조 타입인 변수 o에 넣습니다. 이때 바로 Boxing이 일어납니다. 반대로 p = (int) o; 이렇게 하면 UnBoxing이 일어나구요. 만약에 값 타입 변수를 개체처럼 사용하고 싶다고 하는.. 2009. 1. 30.