보다 안전한 getter, setter 만들기
다음 코드의 결과는 무엇인지 확인해보자. 그렇다면 코드가 다음과 같이 수정되었을때 라는 배열의 첫 번째 요소는 이전과 동일하게 1일까? 이는 의 구현에 따라 달라진다. 만약 의 구현이 다음과 같다면 배열의 첫 번째 요소는 4가 될 것이다. 즉, 이는 코드의 순서에 따라 다른 결과를 만들어내게 된 상황인데, 이러한 현상이 발생하는 원인은 인수로 전달한 값이 “배열”이라는 객체 타입의 값이므로 해당 배열을 가리키는 참조 값이 복사되어 전달되었기 때문이다. 물론 이처럼 짧은 코드에서는 원본이 변경되지 않도록 코드의 순서에 유념해서 문(statement)들을 배치할 수 있을 것이다. 하지만 만약 해당 코드가 매우 복잡한 비즈…