• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Java의 Call by Reference

22.09.24 10:35 작성 조회수 136

0

 

선생님 안녕하세요. 강의를 듣다 질문이 있어 글 남기게 되었습니다.

강의 [애매하다! class, object, instance 상호관계] 차수에서

함수의 인자로 클래스를 넘길때 Call by Reference 라고 말씀 하셨는데요,

자바에서는 포인터 개념이 없다고 알고있는데, 그럼 자바에서는 클래스나 배열 등을 넘길때

무조건 Call by Reference로 넘어가는건가요 ?

그렇다면 만약 함수 내에서 매개변수의 값이 바뀌게 되면 항상 원본에도 영향을 미치게 되는건가요?

C++로 프로그래밍을 시작해 Java를 공부하는 중인데 해당 부분이 헷갈립니다.

답변 1

답변을 작성해보세요.

1

자바에는 C언어 처럼 포인터라는 것은 없지만 대부분 객체를 다루기 때문에 함수로 객체를 전달 할 경우
번지를 전달해서(Call By Reference) 사용을 해야 됩니다. 이 부분이 C언어의 포인터와 비슷합니다.
함수로 객체의 번지를 전달해서 받아서 값을 수정하거나 저장하면 원본에도 영향이 미치겠죠~~

감사합니다!