호빵의 IT 개발소

new와 malloc의 차이점은? 본문

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

new와 malloc의 차이점은?

호빵Stack 2025. 3. 29. 23:38
new vs malloc 차이점 요약
  • 언어
    • new: C++ 연산자
    • malloc: C 함수 (stdlib.h)
  • 형 변환
    • new: 자동 형 변환
    • malloc: 수동 형 변환 필요 (C++에서는 캐스팅 필요)
  • 생성자 호출
    • new: 객체 생성 시 생성자 자동 호출
    • malloc: 생성자 호출하지 않음, 단순 메모리 할당
  • 메모리 해제
    • new: delete로 해제
    • malloc: free()로 해제
  • 오버로딩
    • new: 오버로딩 가능
    • malloc: 오버로딩 불가

 

 

면접 스타일 답변 예시:

new는 C++에서 제공하는 연산자로 객체를 생성하면서 생성자를 호출해 초기화까지 수행해줍니다. 반면 malloc은 C 표준 함수로 단순히 메모리만 할당하고 객체 초기화는 수행하지 않습니다.
또한 new는 타입에 맞게 자동 형 변환이 되지만 malloc은 형 변환을 수동으로 해줘야 하며 해제할 때도 각각 delete와 free를 사용해야 합니다.
C++에서는 객체 지향적인 초기화와 예외 처리 등을 고려해 new와 delete를 사용하는 것이 일반적입니다.

 

Comments