호빵의 IT 개발소

힙(Heap)이란? 본문

CS(전공지식)/기술면접 준비

힙(Heap)이란?

호빵Stack 2025. 3. 25. 20:54
힙(Heap) 영역이란
  • 동적 메모리 할당을 위한 영역 (malloc, new)
  • 프로그램 실행 중 개발자가 직접 할당/해제해야 함
특징:
  • 크기가 크고 유연함 (메모리 한도까지 사용 가능)
  • 속도는 느림 (관리 부담 있음)
  • 해제 안 하면 메모리 누수 발생
  • 조각화(Fragmentation) 생길 수 있음
요약: 동적으로 길게 쓰는 데이터 저장용 공간, 관리 책임은 개발자에게 있음.


힙(Heap)도 용량 제한이 있어.
  • 이론상 시스템 메모리(RAM)까지 사용 가능하지만
  • 실제로는 OS와 설정에 따라 제한
    • 예: 32비트 시스템은 보통 2~4GB 제한
    • 리눅스/윈도우에서 실행파일이나 런타임 설정에 따라 다름
메모리 부족 or 누수 발생 시 → 할당 실패 (NULL 반환 등)

요약: 힙도 물리적/논리적 한계에 따라 제한되며, 무한정 쓰는 건 불가능.

 

 

면접 스타일 답변 예시:

힙은 동적 메모리 할당을 위한 영역으로 런타임 중 malloc이나 new 같은 함수로 메모리를 할당받는 공간입니다.
크기가 크고 유연하지만 할당과 해제는 개발자가 직접 관리해야 해서 메모리 누수나 단편화 문제가 생길 수 있습니다.

'CS(전공지식) > 기술면접 준비' 카테고리의 다른 글

자료구조란?  (0) 2025.03.25
스택(Stack) VS 힙(Heap)  (0) 2025.03.25
스택(Stack)이란?  (0) 2025.03.25
메모리 구조는 어떻게 되어있나?  (0) 2025.03.25
메모리 풀이란?  (0) 2025.03.25
Comments