반응형
계속 업데이트 예정
면접은 이런 기능, 저런 기능을 써봤다가 아니라, '이러한 문제점을 이러한 방법으로 해결했다' 유저가 아니라 개발자로써의 모습을 보여줘야 함
C / C++
- 임베디드 시스템에서 C/C++을 사용하는 이유는?
비트 필드 처리 때문에
- C++의 장점은?
추상화 : 인터페이스, virtual / 상속 받을 때 반드시 작성해야할 함수를 정의
상속 :
다형성 (Polymorphism) : 함수들이 다양한 형태를 가질 수 있음 / 상속 → 재정의 → 객체
- static
정적 변수에는 정적 지역 변수와 정적 전역변수가 존재함
정적 지역 변수는 선언된 중괄호 내부에서 사용가능하고 정적 전역 변수는 해당 소스 파일에서만 사용할 수 있
초기화하지 않아도 0으로 초기화
프로그램이 실행될 때 할당되고 프로그램이 끝날 때 제거되며 매개변수로 사용할 수 없다
정적 함수도 존재하는데, 이건 해당 소스 파일 안에서만 사용 가능함
전부 extern 선언이 불가능
- 코드 / 데이터 / 힙 / 스택
프로그램이 실행되면 운영체제는 프로그램 정보를 메모리에 로드하는데, 할당된 메모리는 코드, 데이터, 힙, 스택 이렇게 4등분되고 각각의 영역에 해당하는 내용이 적재된다
코드 : 프로그램 코드
데이터 : 전역 변수, 정적 변수
힙 : 동적 할당
스택 : 지역 변수, 매개 변수
- pointer란?
하드웨어에 직접적으로 접근할 수 있게하는 것
변수의 주소를 저장할 수 있는 변수
C와 C++ 포인터의 차이 : C는 엔지니어가 자원에 대한 보호의 역할이 컸음 C++로 넘어오면서 자원이 자동으로 소멸되는 기능이 추가됨 (스마트 포인터)
- void 포인터
void : 형체가 정해져 있지 않은 것
void 포인터는 어떠한 타입이나 가능함
타입 캐스팅 : 다른 타입으로 바꿔주는 것
- 오버로딩과 오버라이딩
오버로딩 : 형태가 같아서 골라서 쓸 수 있음
오버라이딩 : 기능이 하나인데, 기능을 구현하는 실체가 여러개인 것 / 부모 함수가 맘에 안들 때, 내용만 바꿔서 자기 것으로
반응형
'면접' 카테고리의 다른 글
| [Linux BSP] 면접 준비 (0) | 2024.03.08 |
|---|