< malloc() 랑 new 차이점 >

1. new 는 연산자(operator)이고, malloc() 은 함수.

2. malloc() 함수는 C 에서 제공하는 함수이므로, C, C++ 에서 모두 사용 가능하지만,
   new 연산자는 C++ 에서만 사용 가능.

3. malloc() 은 할당된 메모리의 포인터 리턴 후 원하는 자료형으로 형변환해야 하지만,
   new 는 이 과정이 불필요하다. new 다음에 자료형을 기술하므로 할당받은 메모리에
   사용될 자료형을 알 수 있어 리턴하는 주소도 자료형에 맞는 포인터값을 돌려준다.

4. malloc() 은 직접적으로 인자로 할당받고, 싶은 메모리의 바이트수를 넘겨주어야 하지만,
    new 는 넘겨주지 않는다.

5. new 는 클래스의 경우, 메모리를 할당하여 객체를 생성하면서 객체의 생성자
   자동으로 호출한다. 이 점이 malloc() 함수와 가장 큰 차이점 중 하나이다.
   new 연산자로 동적 메모리를 할당받는 경우 자료형이 클래스 또는 구조체라면
   자동으로 생성자가 호출된다. 그러나 malloc() 은 객체만 생성한다.

6. new 로 할당된 동적 메모리 해제시 delete 연산자를 사용한다.
   delete 를 사용하면 소멸자가 자동으로 호출되지만,
   free() 는 호출하지 않는다.