한 줄로 끝내기

라이브러리는 내가 부르고, 프레임워크는 나를 부른다.

이게 전부입니다. 나머지(IoC, DI, 콜백…)는 **“누가 먼저 움직이냐”**를 다른 말로 푼 것뿐입니다.


🎬 영화 촬영 비유

라이브러리 = 도구 상자

// 내가 주도권을 쥠
const data = await axios.get("/api/camps");
const sorted = lodash.sortBy(data, "name");

→ 내 코드 → 라이브러리 방향으로 호출


프레임워크 = 촬영 시스템 + 감독

// Next.js가 "이 경로로 요청 오면 이 파일 실행해"라고 정함
export default async function Page() {
  const data = await fetch(...); // 내가 fetch 부르지만
  return <div>...</div>;       // "언제 이 컴포넌트를 그릴지"는 Next가 정함
}

→ 프레임워크 → 내 코드 방향으로 호출 (라우팅, 렌더 타이밍 등)