프로그래머 면접질문모음
2020. 3. 24. 18:49ㆍ면접질문모음
1. class 와 구조체의차이점
1-1. 구조체는 값타입이라는것과 클래스는 참조타입이라는 점에서 차이점이 있다.
1-2. 구조체를 사용하는이유는 클래스 사용시에 참조로인한 시간적 비용적 낭비를 없애기 위해 사용한다. 구조체는
값타입이기에 직접적으로 메모리에 접근하므로 낭비를 막을수 있다.
1-3. 구조체와 클래스의 다른점은 구조체는 상속자체가 불가능하다.
1-4. 접근지정자의 차이 public, private
2. Boxing Unboxing의 뜻
2-1. Boxing
int i = 123;
// The following line boxes i.
object o = i; Boxing
특정 타입을 오브젝트 타입으로 변경
2-2. UnBoxing
o = 123;
i = (int)o; // unboxing
오브젝트 타입을 원하는 타입으로 변경
장점 : 성능이 안좋다.
단점 : 개발의 편리성이 올라간다.
3. gc란?
메모리 관리 기법중 하나, 프로그램이 (동적)할당했던 메모리에서 필요없게 된 영역을 해제하는 과정이다.
가비지콜렉터는 메모리를 해제 할때 작업을 수행하는 데 시간이 소요된다. 메모리의 양과 프로그램을 실행 중인 플랫폼에 따라 다르고, 중요한 것은 메모리가 해제되는 시점을 개발자가 알 수 없다는 것이다. 게임과 같은 실시간으로 실행되는 프로그램에서는 큰 문제가 될 수 있다.
유니티에서 발생하면 프레임이 떨어지거나 렉이 걸리는것 처럼 보일 수 있다.
프로파일러로 돌려보면서 병목지점을 찾은다음 해소하는 것이 중요하다.