pointer
- NULL 초기화가 가능하다
- 포인터연산이 가능하다
- 별도의 메모리공간을 할당한다
- 값을 얼마든지 바꿀 수 있다
reference
- NULL 초기화 불가능
- 상수처럼 선언과 동시에 초기화를 해야하고 값을 바꿀 수 없다
- 별도의 메모리 공간 필요로 하지 않음
- 포인터연산 불가능
malloc
- default가 void 포인터이기 때문에 자료형을 해당 객체에 맞는 타입으로 선언해줘야함
- 생성자 호출 기능이 없음
- 예외처리 없이 NULL 값을 반환하게 된다
- realloc으로 메모리 크기 재조정 가능
new