더북(TheBook)

3.2.4 코틀린 fun 함수 사용하기

앞에서 순수 함수에 관해 언급한 내용을 기억하는가? 코틀린 fun 키워드를 사용해 정의한 함수는 선언 방식과 관계없이 진정한 함수임을 보장할 수 없다. 프로그래머가 함수라고 부르는 대상이 진정한 함수인 경우가 너무 적어서 진정한 함수를 부르는 표현이 따로 있을 정도다. 프로그래머들은 진정한 함수를 순수 함수(pure function)라고 부른다(이와 반대로 진정한 함수가 아닌 함수들은 순수하지 않은(impure) 함수라고 부른다). 이 절에서는 함수를 순수 함수로 만드는 요소가 무엇인지 살펴보고, 순수 함수 몇 가지를 예로 보여준다.

다음은 어떤 함수나 메서드가 순수 함수가 되기 위해 필요한 조건이다.

함수 외부의 어떤 것도 변이시켜서는 안 된다. 내부에서 상태를 변이시키더라도 그 상태를 외부에서 관찰할 수 없어야 한다.

인자를 변이시켜서는 안 된다.

예외나 오류를 던져서는 안 된다.

항상 값을 반환해야 한다.

인자가 같으면 항상 같은 결과를 내놓아야 한다.

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