Call by value in Java
Call by Value란? 문자 그대로 값을 호출 합니다. 즉 전달 받은 값을 복사하여서 사용하기에, 원본은 변경되지 않습니다. Call by Reference란? 참조에 의한 호출 입니다. 즉 전달 받은 값을 직접 참조하기에, 원본 역시 변경이 됩니다. Java에는 해당 호출 방식을 안 쓰지만, 원본이 변경되는 경우가 있어서(array, 객체) 오해의 여지가 있습니다. 예시로 살펴보겠습니다. 클래스를 만들고, 메서드 실행 시 매개변수로 원본을 변경하는 일이 발생합니다. 하지만 run메서드에 매개변수로 넘길 때, 주소 값을 복사해서 넘겼습니다. 그리고 복사된 주소값으로 참조가 가능해져, 주소 값이 가르키는 객체가 변경됩니다. a1, a2를 생성해주고, 메서드를 돌려 인자로 넣어줄 때 arg1, arg2..