팀 회의 내용
- GameScene 구조물 배치
- 주요 메카닉 완성도 높이기
- 추가 기능 역할 분담
- 통합 테스트 및 버그픽스
구현한 내용
- 버그픽스
오늘로 주요메카닉 구현 끝 !!
이번에 특별한 버그가 하나 발생하였다 싱글턴화 되어있는 GameManager에서 두 개 이상의 객체가 서로를 참조하는 순환 참조가 일어나서 계속해서 GameManager가 생성되어 메모리 릭 에러가 발생했었다 이를 해결하기 위해 순환 참조 하는 부분을 없애고 싱글턴화 되어있는 Manager 들은 Awake에서 초기화 하지 않고 start에서 초기화 해주도록 변경하였다
기술 면접 대비 16일차
Q: 스택, 힙 메모리란 무엇이며 어떤 차이가 있는지 비교해서 설명해주세요
A :스택은 정적 메모리를 저장하고, 정의된 스코프를 벗어나면 자동으로 소멸합니다
힙은 동적 메모리를 저장하고, 가비지 컬렉터가 없으면 사용자가 직접 메모리를 관리해야 합니다
* 스택은 할당과 해제가 빠르지만 메모리 크기 제한이 있고 힙은 메모리 크기 제한이 없지만 스택에 비해 상대적으로 느리고 운영체제마다 메모리 관리가 다르기 때문에 어렵다
* 메모리 구조
1. 코드 영역 : 실행할 프로그램의 코드
2. 데이터 영역 : 전역 변수, 정적 변수 (프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸)
3. 힙 영역 : 사용자의 동적 할당
4. 스택 영역 : 지역 변수 매개변수
* 오버플로우 : 한정된 메모리 공간이 부족하여 메모리 안에 있는 데이터가넘쳐 흐르는 현상
힙은 메모리 위쪽 주소부터 할당되고, 스택은 메모리 아래쪽 주소부터 할당되어 각 영역이 상대 공간을 침범하는 일이 발생할 수 있는데 힙이 스택을 침범하면 힙 오버 플로우, 스택이 힙을 침범하는 경우를 스택오버플로우 라고 한다
Q : 값 형식과 참조 형식의 차이에 대해 설명해주세요
A : 값형식은 변수가 값을 담는 데이터 형식으로 스택 메모리 영역에 저장되고, 변수가 값 대신 값이 있는 곳의 위치(참조)를 담는 데이터 형식으로 힙 메모리 영역에 저장된다
'TIL' 카테고리의 다른 글
[TIL] 내일배움캠프_Unity 최종 프로젝트 3주차: 추가 기능 구현2, 기술 면접 대비 18일차 (0) | 2023.11.10 |
---|---|
[TIL] 내일배움캠프_Unity 최종 프로젝트 3주차: 추가 기능 구현1, 기술 면접 대비 17일차 (0) | 2023.11.09 |
[TIL] 내일배움캠프_Unity 최종 프로젝트 3주차: 주요 메카닉 구현 9, 기술 면접 대비 15일차 (0) | 2023.11.07 |
[TIL] 내일배움캠프_Unity 최종 프로젝트 3주차: 주요 메카닉 구현 8, 기술 면접 대비 14일차 (0) | 2023.11.07 |
[TIL] 내일배움캠프_Unity 최종 프로젝트 2주차: 주요 메카닉 구현 7, 기술 면접 대비 13일차 (0) | 2023.11.06 |