스터디/이펙티브코틀린
아이템 30 - 요소의 가시성을 최소화화라
WHY? 작은 인터페이스는 배우기 쉽고 유지하기 쉽다. 기능이 많은 클래스보다 기능이 적은 클래스를 이해하는 것이 쉽고 유지보수하기 쉽다. 보이는 요소 자체가 적으면 유지보수하고 테스트할 것이 적다. 변경을 가할 때는 기존의 것을 숨기는 것보다 새로운 것을 노출하는 것이 쉽다. 기존 요소는 이미 사용하고 있는 부분에 많은 영향을 미치고 있을 수 있기 때문이다. 가시성과 관련된 제한을 변경하는 것은 더 어렵다. 따라서 변경할 경우 대체제를 제공해야한다. 클래스의 상태를 나타내는 프로퍼티를 외부에서 변경할 수 있다면 클래스는 특정 조건을 만족해야하는 자신의 상태를 보장할 수 없다. 클래스의 값(var)의 setter의 가시성만 private하게 제한 하도록 하는 것이 좋다. 가시성이 제한 될수록 클래스의 변..