TIL

유니티 개발자 면접 질문과 답변

주전자123 2025. 5. 12. 20:43
320x100
반응형
SMALL

오늘은 개발자 면접 질문에 대한 답변 정리한 것을 서술해보겠다.

질문은 

1. 스택과 힙 메모리의 차이

2. Find 함수 사용을 자제해야 하는 이유

이다.

 

먼저

스택과 힙 메모리의 차이에 대한 내 답변이다.

 

스택과 힙은 프로그램 실행 시 사용하는 메모리 영역으로 특성과 사용 방식에 차이가 있습니다.
스택은 지역변수나 매개변수가 저장되는 영역으로, 선입후출 구조를 따릅니다. 
반면 힙은 런타임 중 동적으로 메모리를 할당할 때 사용하는 영역으로, 주로 객체나 대용량 데이터를 저장할 때 사용됩니다.
스택은 컴파일러가 자동으로 메모리를 할당하고 메서드 실행이 끝나면 자동으로 해제되기 때문에 속도가 빠르고 메모리 관리의 부담이 적은 반면,
힙은 메모리를 직접 할당하고 해제해야 하기 때문에 속도는 다소 느리지만, 스택보다 자유로운 크기 조절이 가능하다는 장점이 있습니다.
따라서 일반적으로 짧고 고정된 수명의 데이터는 스택에,
크기가 크거나 수명이 길고 동적으로 관리되어야 하는 데이터는 힙에 저장하는 것이 적절합니다.

 

1대1로 비교하면서 설명하라는 피드백을 받아 피드백을 적용한 답변이다.

 

다음은

Find 함수 사용을 자제해야 하는 이유에 대한 내 답변이다.

 

Find 함수 사용을 자제해야 하는 가장 큰 이유는 성능과 유지보수 측면입니다.
우선, 성능 면에서는 내부적으로 전체 씬을 순회하거나 트리를 탐색하기 때문에, 오브젝트가 많을수록 성능이 급격히 떨어질 수 있습니다.
그리고, 유지보수 측면에서는 Find 함수는 보통 문자열 경로를 기반으로 찾기 때문에, 오브젝트 이름이나 구조가 바뀌게 되면 런타임에서 에러가 발생합니다. 또한 이름이 중복되는 오브젝트가 있으면 원하는 오브젝트 반환이 어렵습니다. 이로 인해 버그가 생겨도 찾기가 어렵고 디버깅 시간이 늘어날 수 있습니다.
따라서 이런 문제를 방지하기 위해 저는 보통 필요한 오브젝트는 Inspector에서 직접 연결하거나, 싱글톤 매니저를 통해 참조하거나, 아니면 의존성 주입 형태로 구조화하는 방식으로 대체하는 편입니다.

 

해결방안도 제시하라는 피드백을 받아 피드백을 적용한 답변이다.

728x90
반응형
LIST