: 인자가 원본자체를 복사받아서 사용된다.
-> 인자가 배열 형식 10개로 되어 있다고 생각해보자.
이렇게 되면 int형 10번의 복사가 진행된다. 굉장히 비효율적이다.
: 인자가 포인터 형식이다. 원본의 주소값을 복사
-> 인자가 배열이더라도, 포인터의 주소만 받아서 사용하므로 call by value보다는 효율적이다.
: call by address와 동작하는 방법은 동일하다.
다른 점은 보다 안정적이다 라는 점이다.
-> 반드시 포인터를 사용할때를 제외하고는 ref를 사용하자.
(+) 추가적으로 const를 인자에 덧붙여 안전한 코드를 작성가능하다.
원본 값 변경 방지!