순수 함수

순수 함수란?

순수 함수(pure function)는 함수형 프로그래밍 패러다임에서 중요한 개념 중 하나입니다. 순수 함수는 입력값으로 받은 인자를 변경하지 않으며, 항상 동일한 인자에 대해서는 항상 동일한 결과값을 반환합니다. 또한 함수 외부의 상태를 변경하지 않기 때문에, 부작용(side effect)이 없습니다.
순수 함수는 다음의 성질을 가집니다.
동일한 인자에 대해서 항상 동일한 결과값을 반환합니다.
함수 외부의 상태를 변경하지 않습니다.
반환값 외의 어떤 작업도 수행하지 않습니다.
순수 함수를 사용하면 코드의 테스트성이 높아지고, 코드의 결합성이 낮아져서 코드 유지보수성이 높아집니다.

예시

다음은 순수 함수의 예시입니다.
def add(a, b): return a + b
Plain Text
복사
위 함수는 순수 함수입니다. 입력값으로 받은 ab를 변경하지 않고, 항상 동일한 입력값에 대해서 동일한 결과값을 반환하기 때문입니다.
def print_hello(): print("Hello, world!")
Plain Text
복사
위 함수는 순수 함수가 아닙니다. 함수 외부의 상태를 변경하기 때문에 부작용(side effect)이 있습니다.