에일리어싱 오류의 폭발 반경을 제한할 수 있다. 하지만 표준 라이브러리의 새 버전이 배포될
때마다 새 함수가 추가되고 있으므로, 직접 상태 변이 코드를 작성해야 할 필요성은 시간이 지
남에 따라 점차 줄어들 것이다.
함수형 프로그래밍은 가변 상태를 제거하지 않는다. 대신에 가변 상태를
런타임의 책임으로 만
든다
. 함수형 프로그램은 런타임이 무엇을 계산해야 할지를 선언하고 런타임이 계산 수행을 책
임지게 한다. 코틀린은 순수 함수형 언어가 아니지만, 우리가 함수형 언어의 원칙을 따를 수 있
을 때 함수형 프로그래밍의 원칙을 따르면서 이익을 얻을 수 있게 해 준다.
295
15
장
캡슐화한 컬렉션에서 타입 별명으로
자바에서는 변이를 제어하고 연산을 추가하기 위해 클래스 안에 컬렉션을 캡슐화한다. 코틀린에서는
변이 제어에 신경을 덜 써도 되며, 연산을 추가하기 위해 확장 함수를 사용할 수 있다. 캡슐화를 사용
하지 않고 어떻게 우리 설계가 더 나아질 수 있고, 어떻게 해야 현재 설계에서 더 나은 설계에 도달할
수 있을까?
6
장에서 컬렉션을 다룰 때 코틀린과 자바의 결이 어떻게 다른지 살펴봤다. 자바 컬렉션 인터페
이스는 객체 지향이라는 뿌리를 따라서 근본적으로 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.