[Java] Call by Value , Call by Reference 정리
2020. 7. 10.
Call by Value : 값에 의한 호출 예제 결과는 num에 100이 더해져 100, 200이 나올 것 같지만 100, 100이 나온다. Call by Value는 메모리에 저장되어 있는 값(Value)을 복사하여 메서드 parameter로 넘어간다. 메인 메서드의 num과 change메서드의 지역변수(num)는 서로 다른 메모리 주소에 담기기 때문에 메서드 호출 후에도 값이 변하지 않게 된다. 결과는 100, 200이 나온다. Call by Value를 통해 값의 변화가 있게 하려면 메서드에서 값을 리턴하고 리턴된 값을 변수에 담아주어야 한다. 메모리 주소값을 공유하지 않기 때문에 변경된 값을 출력하려는 변수에 넣어 주어야 한다. Call by Reference: 주소 값에 의한 호출 예제 결과는..