함수나 expression(표현식)에 있어서의 어떤 상태(state)의 수정이 리턴값에 영향을 주는 것을 side effect라고 한다. 예를들어서 어떤 함수에서 전역변수나 static variable 혹은 그것의 인자를 수정했는데, 다른 함수의 결과에 영향을 끼친다면 이 함수를 side-effecting 함수라고 한다. side effect는 프로그램의 결과를 예측하기 힘들게 한다. 그러므로 가능하면 side effect에 자유롭도록 함수를 작성할 필요가 있다.
일반적으로 절차지향적언어를 이용해서 함수를 작성할 경우 side effect의 취약한 것으로 알려져 있다. 함수형언어(:12)를 사용하면 side effect를 최소화 할 수 있다.
side effect
Recent Posts
Archive Posts
Tags