2025-08-07 23:16

Tags:소프트웨어 공학

부수 효과(사이드 이펙트)

  • 원래 아이디어는 의료계에서 의도치 않은 결과 나타날때 표현
  • 프로그래밍에선 함수나 연산이 입력 출력 외의 외부 상태 변경
  • 주효과 이외의 외부 변수 변경, IO 수행, 예외 발생등 일으키는 현상
  • 명령형 프로그래밍의 경우 일일이 변수를 직접 수정하므로 사이드 이펙트 빈번
  • 함수형 프로그래밍의 경우 순수 함수 지향 사이드 이펙트 최소화
  • 참조 투명성 : 사이드 이펙트 없고 동일 입력에 항상 동일 출력 보장
  • 사이드 이펙트가 많으면 디버깅하기 어렵고 예상 못한 동작 생김
  • 사이드 이펙트 자체가 나쁜게 아니라 통제 할 수 없는 효과가 나쁜것
  • 핵심 로직은 가능한 순수 함수로 작성
  • 사이드 이펙트 일으키는 작업은 가능하면 외곽으로 밀어내 관리

References

함수형 프로그래밍 명령형 프로그래밍 순수 함수

사이드 이펙트 핸드북 Next.js·React에서의 사이드 이펙트 핸드북 프로그래밍에서 사이드 이펙트 프로그래밍 핸드북 사이드 이펙트 (Side Effect)