Deff_Dev

모의 면접 질문 (2) 본문

면접 질문 정리/모의 면접 질문

모의 면접 질문 (2)

Deff_a 2024. 7. 29. 14:55

1. C# 구조체와 클래스의 차이는 ?

  • 구조체는 값 형식의 데이터 구조이고 클래스는 참조 형식의 데이터 구조이다.

2. 클래스를 사용할 때, 주의 할 점

  • 클래스 객체의 할당을 자주하다 보면 GC에 부하를 줄 수 있기 때문에 꼭 필요한 객체만 생성해야한다.
  • 클래스를 이용해 새로운 인스턴스를 만들 때, 깊은 복사를 이용해야 새로운 인스턴스가 생성된다.

3. GC 내부 동작

  • 힙 메모리에 할당할 수 있는 공간이 없을 때, GC가 자체적으로 실행되는데, 힙 메모리를 탐색하면서 사용하지 않는 객체를 찾고 메모리를 해제하는 방식으로 동작한다.

4. GC 제네레이션

  • GC는 0, 1, 2 세대로 나눠서 0, 1 ,2 세대 순으로 메모리를 탐색하고 쓰레기 메모리를 할당 해제한다.
  • GC에서 살아남은 메모리들은 다음 세대로 넘어가는 형식이다.

5. 클래스의 대입 문제

  • 얕은 복사는 new로 새로운 객체를 생성하지 않고 참조 값만 복사할 때는 얘기한다.
  • 그렇기 때문에 새로운 인스턴스를 생성할 땐 깊은 복사로, new를 이용하여 새로운 인스턴스를 생성한 뒤, 대입 해야한다.

6. 클래스안에 클래스가 존재할 때는 어떻게 할 것 인가 ?

  • 생성자 안에 해당 클래스를 생성할 수 있는 new 키워드를 넣어 해결할 거 같다.

7. 구조체는 얕은 복사나 깊은 복사가 일어나는지 ?

  • 구조체는 기본적으로 값 타입이기 때문에 얕은 복사가 일어나고 깊은 복사가 일어나지 않지, 구조체 안에 클래스가 있는 경우와 같이 예외적인 상황이 있을 수 있다. 

 

'면접 질문 정리 > 모의 면접 질문' 카테고리의 다른 글

모의 면접 질문 (1)  (0) 2024.07.18