더북(TheBook)

그림 1-3은 참조 투명한 프로그램과 참조 투명하지 않은 프로그램의 차이를 보여준다.

참조 투명한 프로그램은 인자로 값을 받아서 결괏값을 내놓는 행위를 제외하고는 외부 세계와 상호 작용하지 않는다. 참조 투명한 프로그램의 결괏값은 인자 값에만 의존한다.

참조 투명하지 않은 프로그램은 외부 세계의 요소로부터 데이터를 읽고 쓰거나 파일에 로그를 남기거나 외부 객체의 상태를 바꾸거나 키보드 입력을 받거나 화면에 출력하는 등의 작용을 한다. 그 결과는 예측 불가능하다.

▲ 그림 1-3 참조 투명한 프로그램과 참조 투명하지 않는 프로그램의 차이점

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.