재귀함수에서 int 타입의 매개변수가 갱신이 안되는 문제 발생
=> 가변 객체를 사용하여 해결 가능!
기본 데이터 타입은 값을 전달한다.
=> 함수에 인자로 int를 넘기면, 해당 함수는 그 복사본을 받아서 작업한다.
=> 복사본이 수정되고, 원래 변수에는 영향을 주지 않는다.
참조형 객체는 주소값을 전달한다.
=> Integer, String과 같은 클래스는 불변 객체로 값 변경시에 새로운 객체가 생성된다.
=> 원래 객체는 변경되지 않는다.
❗갱신하려면 가변 객체인 참조 데이터 타입을 사용해야한다.
=> 내부 값 수정 가능
=> 함수 내에서 값을 갱신하면, 콜스택을 돌아와도 그 값이 유지된다.