11. What — 함수와 스코프란?
2- 함수(Function): 특정 작업을 수행하는 코드 묶음에 이름을 붙인 것
3- 스코프(Scope): 변수 이름이 유효한 범위, 즉 '이름이 살아있는 공간'
4- 함수는 '코드에 이름을 붙이는 행위'이고, 스코프는 그 이름이 충돌하지 않도록 격리하는 울타리
52. Why — 복사·붙여넣기의 재앙
6- 세금 계산 로직이 10곳에 복사되어 있다고 가정하자:
7 - 세율이 바뀌면? → 10곳 모두 수정해야 함
8 - 1곳이라도 빠뜨리면? → 버그 발생, 추적 불가
9 - 이것이 DRY 원칙(Don't Repeat Yourself) 위반의 전형적 결과 (Hunt & Thomas, 1999)
10- 100줄짜리 코드를 5번 복사하면 500줄 — 어디가 원본인지조차 불명확
11- 함수로 한 곳에 정의하면: 수정 1회 → 모든 호출부에 즉시 반영
123. Why — 스코프 없는 세상의 이름 충돌
13- 모든 변수가 전역(global)이면 벌어지는 일:
14 - A가 total = 0으로 초기화 → B가 total = 99로 덮어씀 → A의 계산 결과 파괴
15 - 변수명을 total_{tax}, total_{cart}, total_{score} 식으로 계속 길게 만들어야 함
16 - 팀 프로젝트에서 다른 개발자가 같은 이름을 쓰면 즉시 충돌
17- 스코프가 존재하면:
18 - 각 함수 내부의 total은 독립적 — 서로 간섭 불가
19 - 같은 이름이어도 서로 다른 공간에 살기 때문에 안전
204. How — 실제 시나리오로 보는 효과
21- 스코프 없이 (문제):