[Kotlin] 변수의 변경 가능 지점 최소화를 통한 코드 안정성 증대 전략

    변수의 변경 가능 지점을 최소화 해야 하는 이유 프로그래밍을 하다보면, 이곳 저곳에서 변수의 값이 변화되는 것을 볼 수 있다. 코드의 양이 작을 때는 이런 것이 문제가 안되지만 코드의 양이 많아질 수록 문제가 된다. 특히 특정 클래스에 속한 변수가 외부에서 직접 접근된 다음 수정되면 해당 클래스 상태(State)의 변경 가능 지점이 늘어나기 때문에 문제가 생긴다. 예를 들어 ExampleView와 ExampleView의 데이터를 저장하는 ExampleViewModel이 있고 ExampleViewModel의 viewData는 서버에서 가져온다고 해보자. 이때 viewData는 초기화 시 한 번만 가져오고 이후에 바뀌면 안된다. 그러면 다음과 같이 코드가 만들어질 수 있다. class ExampleView(..