프로그래밍/기본기ㆍ자료구조
2021. 3. 1.
Foreach에 관하여
과거에는 Foreach를 사용하면 가비지가 생긴다는 이유로 사용을 지양하던 때가 있었다. 구조상 Foreach는 가비지를 발생시키니까 For를 사용해라 라는 식으로만 알고 있었기에 Dictionary같이 Foreach를 써야하는 경우에만 사용했었다. 그래서 이번에는 조금 더 자세히 알아보려고 한다. 우선 사실만 먼저 말하자면 Foreach는 이미 2010년도에 리펙토링되어서 가비지가 쌓이지 않는다. 가비지가 생긴다는 말이 있었던 이유는 유니티 5.4.5버전까지는 꽤 오래된 컴파일러를 사용하고 있었기 때문에 리펙토링된 Foreach가 적용되지 않았던 것이다. 유니티 5.5버전 이후부터는 리펙토링된 Foreach가 적용되었다. 그럼 오래된 컴파일러에서는 왜 가비지가 생겼을까? 그건 내부적으로 박싱이 일어나고..