*글삭안하겠습니다.*
c++공부하다가 java는 처음 배우는중이라 궁금한거 하나만 여쭤보겠습니더.
array_called[n] = new called(a,b);
array_caller[p] = new caller(a,b, array_called[n]);
이런식으로 다른 클래스 변수(called)를 인수로 받는 클래스(caller)가 있는데
여기서 array_called[n] 필드값을 실제로 변경하는 changevalue 함수(array_called[n].changevalue(c,d);)를 호출하고
temp_caller의 temp값을 확인해보면 (c,d)로 변경돼있더라고요.
그런데 여기서 temp값이 변경안되게 하고싶은데 caller의 변수들을 final선언해도 참조대상인 called값이 변하는거는 막을수없고,
그렇다고 called 변수에 final걸어버리면 changevalue같은게 호출안되는데 어쩌면 좋겠습니까..
복사본을 넘겨
복사해야
난 질문부터 이해가 안가는데 다들 어떻게 이해 한거지 tempcaller랑 temp는 어디서 튀오나온거 ㄷㄷ
왜 자바는 복사안될거라는 생각을 했는지 모르겟습니다. 감사합니다 ㅋㅋ;