Call by value, Call by reference

딩딩당당·2023년 3월 30일
0

함수 호출 방법에는 두가지가 있다.

  • Call by value(값에 의한 호출)
  • Call by reference(참조에 의한 호출)

Call by value는 인자로 받은 값을 복사하여 처리한다.
Call by reference는 인자로 바은 값의 주소를 참조하여 직접 값에 영향을 준다.

쉽게 말해 값을 복사해와서 처리하느냐, 아니면 직접 참조를 하느냐 차이이다.

장단점

Call by value

장점 : 복사하여 처리하기 때문에 안전하다. 원래의 값이 보존이 된다.

단점 : 복사를 하기 때문에 메모리가 사용량이 늘어난다.

Call by reference

장점 : 복사하지 않고 직접 참조를 하기에 빠르다.

단점 : 직접 참조를 하기에 원래 값이 영향을 받는다.

JAVA에서는 포인터가 따로 없으며, 기본적인 매개변수는 Call by Value지만

예외적으로 배열과 클래스는 참조변수로 Call by Reference로 작동한다

profile
자바공부해요흑흑

0개의 댓글