0.2 함수형 프로그래밍의 진정한 의미는 무엇인가?

    함수형 프로그래밍이 주류 개념이 되면서 사람마다 함수형 프로그래밍을 다르게 정의한다. 함수형 프로그래밍이 무엇인지에 대한 정의는 많지만, 결국 중요한 것은 참조 투명성(referential transparency)이다.

    참조 투명성은 매우 간단하지만 강력한 개념이다. 코드 내에서 어떤 식을 그와 동등한 값으로 바꿔도 프로그램의 행동(behavior)이 변하지 않는다면 그 코드는 참조 투명하며, 따라서 함수형이다.

    여러분이 이런 방식으로 코드를 작성할 수 있다면, 사용하는 언어나 라이브러리에 상관없이 함수형 프로그래머이다. 아직 ‘식(expression)’과 ‘프로그램의 행동’이 무엇인지 정의하지 않았는데, 나중에 설명하겠다. 여기서 중요한 것은 어떤 코드가 함수형인지 아닌지를 판단하는 매우 간단한 방법이 있다는 것이다. 코드 내의 모든 식을 그 값으로 바꿀 수 있다면 그 코드는 함수형이고, 그렇지 않다면 함수형이 아니다.

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