CS 모의면접 내용 정리(11.13)

이정국(PBD)·2025년 11월 13일

TIL

목록 보기
59/70

1. ✅ Struct와 Class의 차이점

  • 둘 다 사용자 정의 자료형으로, 멤버 변수와 함수를 가질 수 있음.

C++ 기준 차이점

  • struct: 기본이 public

  • class: 기본이 private

상속 시 접근 지정자

  • struct: 기본이 public

  • class: 기본이 private

의도적 사용 구분

  • struct: 단순 데이터 묶음(POJO, POD)용

  • class: 캡슐화, 기능/행동이 있는 객체용

2. ✅ STL Vector vs List 차이점

vector

  • 내부적으로 동적 배열 사용

  • 임의 접근(O(1)) 가능

  • 중간 삽입/삭제는 느림(O(n))

  • 메모리가 연속적

list

  • 내부적으로 이중 연결 리스트 사용

  • 임의 접근 불가, 순차 접근만 가능(O(n))

  • 중간 삽입/삭제 빠름(O(1))

  • 메모리 불연속적

✅ 정리: 탐색 위주면 vector, 삽입/삭제 많으면 list

3. ✅ 언리얼의 3대 스트링

FString

  • 동적 문자열, C++의 std::string과 유사

  • 가변 문자열, 메모리 할당 있음

FName

  • 해시 기반 불변 문자열

  • 비교 속도 빠르고 메모리 절약됨 (이름 기반 식별자용)

FText

  • 로컬라이징(다국어 지원)용 텍스트

  • UI 표시용 문자열

4. ✅ OOP의 정의와 개념

  • 정의 : 현실 세계의 객체를 모델링해 데이터(속성)와 기능(행동)을
    하나의 단위로 묶어 표현하는 프로그래밍 패러다임

  • 핵심 개념: 코드의 재사용성, 유지보수성, 확장성을 높이는 구조적 사고방식

5. ✅ OOP 4대 개념

캡슐화(Encapsulation)

  • 데이터와 함수를 하나의 단위로 묶고, 외부 접근은 제한

상속(Inheritance)

  • 기존 클래스를 확장하여 새로운 클래스를 정의

다형성(Polymorphism)

  • 같은 인터페이스로 서로 다른 동작을 구현

  • 예: 가상 함수, 오버라이딩

추상화(Abstraction)

  • 복잡한 내부 로직을 숨기고 필요한 인터페이스만 노출

6. ✅ 배열(Array)의 정의

  • 정의 : 동일한 자료형의 데이터를 연속된 메모리 공간에 저장하는 자료구조

  • 특징 : 인덱스를 통한 빠른 접근(O(1))

  • 크기 고정 AND 삽입/삭제 비효율적

7. ✅ 프로세스 vs 스레드 차이

  • 프로세스: 실행 중인 프로그램의 인스턴스 (독립된 메모리 공간 가짐)

  • 스레드: 프로세스 내에서 실행되는 작업 단위 (메모리 공유)

  • 비유: 프로세스는 집, 스레드는 그 안의 사람들

장단점

  • 스레드는 자원 공유로 빠르지만 동기화 이슈 있음

  • 프로세스는 안정적이지만 전환 비용이 큼

8. ✅ 멀티스레딩 기법 종류와 정의

동기(Synchronous)

  • 한 스레드가 끝나야 다음이 실행됨

비동기(Asynchronous)

  • 다른 스레드가 독립적으로 실행됨

뮤텍스(Mutex)

  • 한 번에 하나의 스레드만 공유 자원 접근 허용

세마포어(Semaphore)

  • 특정 개수의 스레드만 접근 허용

Critical Section (임계 영역)

  • 동시에 접근하면 안 되는 코드 영역을 보호

9. ✅ 스택 오버플로우(Stack Overflow)의 원인과 해결방법

  • 원인 : 함수의 무한 재귀 호출 / 지역 변수의 과도한 메모리 사용

  • 해결방법 : 재귀 종료 조건 확인 / 반복문으로 대체
    / 지역 변수 대신 동적 할당(new, malloc) 사용

10. ✅ 자료형과 변수의 정의

자료형(Data Type)

  • 데이터의 종류와 크기를 정의

  • 메모리에서 어떻게 저장되고 연산되는지를 결정

  • 예: int, float, bool, char

변수(Variable)

  • 데이터를 저장할 수 있는 이름 있는 메모리 공간

  • 프로그램 실행 중 값 변경 가능

profile
창백한 푸른점 속 작은점

0개의 댓글