레퍼런스와 포인터는 어셈블리어로 변환하면 '같다'

포인터를 사용해야할 상황이 아니라면 레퍼런스를 사용하는것이 좋다. 포인터에서 생길 수 있는 부작용을 막기 위해 사용하는것이 레퍼런스이기 때문이다. 단지 포인터에 실수로 null을 넣는거같은 문제를 방지하기 위한것이 레퍼런스. 그렇기 때문에 컴파일러로 번역했을때 레퍼런스와 포인터는 서로 똑같은 처리를 한다.

포인터를 사용하는 경우

NULL 값을 가져야하는 경우

함수 인자가 out parameter 라는 것을 강력하게 표현할 때