오늘은 면접을 보고 와서 피곤한 나머지 도저히 진행을 할 수 없었습니다.

옆에 켜놓고 검색하고 있는데 영어로 된 자료가 읽히지가 않아서...

 

금요일에는 꼭 문제를 해결하겠습니다.

'개발일지' 카테고리의 다른 글

20.08.26 비개발일지  (0) 2020.08.26
20.08.12 비개발일지  (0) 2020.08.12
20.07.23 비개발일지  (0) 2020.07.23
20.07.22 비개발일지  (0) 2020.07.22
20.07.21 비개발일지  (0) 2020.07.21

Q: Unity Boxing과 UnBoxing에 대해 설명해 보아라

 

A: Boxing은 Stack 메모리의 Data를 Heap 메모리에 할당을 하는 방식이다.

Object a = value일 때 Heap 영역에 value 값이 할당되고, a는 그 값의 주소를 참조한다.

 

반대로 이렇게 Heap 영역에 할당된 Value를 Stack 메모리에 할당을 해야 하는 경우도 있다.

위 Object a에 대해 int b = (int)a 와 같이 값을 할당하는 것이 UnBoxing이다.

 

Boxing은 Stack의 값을 Heap에 할당하는 방식이고, UnBoxing은 Heap에 할당된 값을 Stack에 할당하는 방식이다.

 

단 이 방법의 단점은 Boxing한 메모리와 UnBoxing 한 메모리. 두 개의 메모리가 발생하기에 가비지가 발생한다는 점.

그리고 Value를 Boxing은 일반 할당보다 최대 20배, UnBoxing은 Casting 과정보다 최대 4배의 시간이 더 걸릴 수 있다.

이러한 단점에도 간간히 사용되는 이유는 그 편리성 때문이다.

주로 ArrayList, Hash Table이 대표적인 예이다.

Q: Actor의 Role과 Remote Role에 대해 설명하라

 

A: Role은 Actor에 대한 Authority Owner Actor의 Replication 여부, Remote Role은 Replication Mode를 나타낸다.

특정 Actor의 Authority를 알아내기 위해 Role이 ROLE_Authority인지 검사한다.

이 값을 가진 Instance가 이 Actor를 담당한다.

그리고 Server와 Client는 Role과 Remote Role의 값이 반대이다.

이 외에 Client의 Replication Mode를 지정하는 Role이 두개가 존재한다.

 

'메모장 > 기술면접' 카테고리의 다른 글

C++ Override 시 Virtual Keyword를 써야 하는 이유  (0) 2020.08.28
Unity Boxing과 UnBoxing  (0) 2020.08.11
UE4 Replicate 방식간 차이  (0) 2020.08.10
내적의 의미  (0) 2020.08.10
기술면접 질문 정리  (0) 2020.08.10

+ Recent posts