메모리 관리가 제대로 되지 않았을 때 발생할 수 있는 문제는?
메모리 관리가 제대로 되지 않았을 때 발생할 수 있는 문제는?
// 문제가 있는 코드 예시
void problematicFunction() {
int* data = new int[1000000]; // 대용량 메모리 할당
// 작업 수행...
// delete[] data; // 이 줄이 누락됨!
}
정답: C
부적절한 메모리 관리는 메모리 누수, 성능 저하, 프로그램 충돌 등 심각한 문제를 일으킬 수 있습니다.
메모리 관리 실패로 인한 주요 문제들:
1. 메모리 누수(Memory Leak):
⦁ 할당된 메모리를 해제하지 않아 사용 가능한 메모리가 점점 줄어듦
⦁ 예시 코드에서
delete[] data;
가 누락된 경우⦁ 장시간 실행되는 프로그램에서 특히 문제가 됨
2. 성능 저하:
⦁ 불필요한 메모리 사용으로 시스템 리소스 낭비
⦁ 가상 메모리 사용 증가로 디스크 I/O 빈발
⦁ 전체 시스템 속도 저하
3. 프로그램 충돌:
⦁ 시스템 메모리 고갈 시 프로그램 강제 종료
⦁ Out of Memory 오류 발생
⦁ 다른 프로그램들에도 영향을 미칠 수 있음
4. 시스템 불안정:
⦁ 메모리 부족으로 운영체제 자체가 불안정해질 수 있음
⦁ 서버 환경에서는 더욱 치명적
올바른 메모리 관리:
void correctFunction() {
int* data = new int[1000000]; // 할당
// 작업 수행...
delete[] data; // 반드시 해제
data = nullptr; // 안전을 위한 포인터 초기화
}
💡 학습 팁
이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.