목차/차례
1. C++에서 포인터와 참조의 차이점에 대해 설명하세요.
2. 객체지향 프로그래밍(OOP)의 4가지 기본 원칙에 대해 설명하세요.
3. C++에서 가상 함수(virtual function)의 목적과 사용 사례에 대해 설명하세요.
4. 다중 상속이란 무엇이며, 그 장단점은 무엇인가요
5. STL(Standard Template Library)의 주요 컨테이너와 그 차이점에 대해 설명하세요.
6. 메모리 누수(Memory Leak)를 방지하는 방법에 대해 설명하세요.
7. C++에서 예외 처리(try-catch)의 기본 구조와 예외를 던지는 방법에 대해 설명하세요.
8. 실시간 시스템에서의 C++ 프로그래밍 시 고려해야 할 중요한 요소들은 무엇인가요
본문/내용
1. C++에서 포인터와 참조의 차이점에 대해 설명하세요.
포인터와 참조는 모두 C++에서 메모리 주소를 다루는 방법이지만 차이점이 명확하게 존재합니다. 포인터는 변수로서 특정 변수의 메모리 주소를 저장하는 데 사용하며, 선언 시에는 `int ptr`과 같이 별표()를 붙여서 선언합니다. 포인터는 NULL 또는 0으로 초기화 가능하며, 강제로 주소를 변경하거나 해제할 수 있고, 포인터 산술 연산이 가능하여 특정 위치로 이동할 수도 있습니다. 그러나 참조는 선언 시 초기값으로 반드시 객체를 지정해야 하며, 초기화 이후에는 다른 객체로 변경할 수 없습니다. 참조는 포인터보다 안전하며, 사용 시 별도의 역참조 연산없이 바로 값을 사용할 수 있어 코드 가독성과 안정성을 높입니다. 예를 들어, 포인터를 잘못 사용하면 NULL 포인터 참조로 인한 크래시가 발생할 가능성이 30% 이상 높아지지만, 참조는 반드시 유효한 객체를 참조하기 때문에 안정성이 높아집니다. 또한, 포인터는 동적 메모리 할당과 함께 강력한 유연성을 제공하는 반면, 참조는 함수 파라미터나 반환값에 자주 사용되어 간결한 코드를 가능하게 합니다. 종합하면, 포인터는 유연성과 다양한 메모리…