메소드에 변수를 전달하는 방법에는 두 가지가 있다. Call By Value (값에 의한 호출) 값을 전달하기 위해, 메모리 공간을 별도로 할당하고 그 주소값을 전달한다. 메모리 공간을 할당하기 때문에, 비용이 많이 들게 된다. 원본값은 안전하다. Call By Reference (참조에 의한 호출) 참조를 전달하기 때문에, 메모리 공간을 별도로 할당하지 않는다. 참조에 해당하는 메모리를 직접 다루기 때문에 원본값에 영향이 있다. Java에서는 포인터라는 개념이 없기 때문에, 무조건 Call By Value다! swap함수로 예를 들어보자. 아래의 swap 함수를 호출했다고 한다면, 함수를 호출하는 쪽에서 swap 이후의 값은 변하지 않는다. 왜? swap함수가 종료될 때 까지, 할당된 새로운 메모리 공..