액션 : 실행 시점과 횟수에 의존한다

계산 : 입력으로 출력을 계산한다.

데이터 : 이벤트에 대한 사실


장보기 과정 ( 무지성 프로그래밍 )

  1. 냉장고 확인하기 → 액션
  2. 운전해서 상점가기 → 액션
  3. 필요한것 구입하기 → 액션
  4. 운전해서 집으로 오기 → 액션

장보기 과정 (함수형 사고 적용)

  1. 냉장고 확인하기 → 액션
    1. 냉장고 확인 결과로 return “현재 재고” → 데이터
    2. 필요한 재고를 데이터로 저장 → 데이터
    3. 필요한 재고 - 현재 재고 = 장보기 목록 → 계산
  2. 운전해서 상점으로 가기 → 액션
  3. 장보기 목록에 있는 것 구입하기 → 액션
    1. 이전에 저장되있는 장보기 목록을 입력값(input)으로 받기