[Java] 메소드 인자전달
·
Programming/Java
안녕하세요 오늘은 Java 메서드 인자 전달에 대해서 한번 알아보겠습니다. 자바(Java)의 메소드 호출 시 인자 전달 방식은 '값에 의한 호출'로 호출하는 실인자의 값이 복사되어 메소드의 매개 변수에 전달됩니다. 예를 들어 이런 코드를 실행시키면 결과 값이 어떻게 나올까요?? 결과 값이 10이 나옵니다. 왜 10이 나오는가 설명하면 아까도 말했듯이 인자의 값을 복사하여 전달해 주는 것이기 때문에 n 과 m 의 값은 다를 수 밖에 없습니다. 하지만 만약 객체가 전달된다고 가정하면 결과와 같이 1이 증가된 11이 출력됩니다. 이것도 설명해보면 결국 레퍼런스를 복사하여 num값을 가리키고 있기때문에 값이 증가할 수 있습니다.