기본형 값과 객체 참조가 전달되는 방식을 이해합니다.
Java는 항상 값을 복사해 전달합니다. 기본형은 실제 값이 복사되고 참조형은 객체를 가리키는 참조값이 복사됩니다. 메서드가 객체 내부를 바꿀 수는 있지만 호출자의 변수가 다른 객체를 가리키게 만들 수는 없습니다.
예제에서 method(value) 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
변경 가능한 입력을 수정하는 메서드는 이름과 문서에 드러내거나 방어적 복사로 부작용을 줄입니다.
불변 객체와 반환값 중심 설계는 호출 순서에 따른 예상 밖의 상태 변화를 줄입니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 원본 배열을 바꾸지 않는 두 배 배열 함수를 만드세요.
참조가 복사된다는 말을 객체 전체가 복사된다고 이해하지 마세요.
직접 바꿔보세요원본 배열을 바꾸지 않는 두 배 배열 함수를 만드세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.