18차시. State 이해
2. State — 하나의 공유 공책
출처: 원본 PDF 18차시_State이해.pdf 5쪽 · 쪽 그림 5쪽
2-1) 교실 공책 비유
📓 여러 선생님이 한 공책을 쓴다면
1교시 국어 선생님
→ 공책에 "독후감 주제: 어린왕자" 적음
2교시 미술 선생님
→ 공책을 펴서 주제를 확인
→ "삽화 완성" 이라고 추가로 적음
3교시 담임 선생님
→ 공책을 보고 진행 상황 파악
→ "제출 완료" 적음
선생님이 몇 명이든 공책은 하나입니다.
새 선생님이 들어와도 공책만 보면 됩니다.
앞 선생님이 누구였는지 몰라도 됩니다.
State가 바로 그 공책입니다.
2-2) State를 쓰면 달라지는 것
| 인자 전달 방식 | State 방식 |
|---|---|
| 노드마다 인자 목록이 다름 | 모든 노드가 State 하나만 받음 |
| 노드 추가 시 앞뒤를 다 수정 | 새 노드만 추가하면 끝 |
| 값의 흐름을 추적하기 어려움 | State만 출력하면 전체가 보임 |
| 분기 함수에 값을 따로 넘김 | 분기 함수도 State만 보면 됨 |
■ State 방식 — 모든 노드가 똑같이 생겼습니다
──────────────────────────────────────────
def retrieve(state): ... # State 받고
def generate(state): ... # State 받고
def verify(state): ... # State 받고
def rewrite(state): ... # State 받고
→ 노드를 몇 개 만들든 형태가 동일합니다
→ 순서를 바꿔도 함수는 안 고쳐도 됩니다