# [[Next.js]] ## πŸ“Œ Brief Summary Next.jsλŠ” ν™•μž₯ κ°€λŠ₯ν•˜κ³  μœ μ§€ 관리가 μš©μ΄ν•œ μ½”λ“œλ² μ΄μŠ€λ₯Ό κ΅¬μΆ•ν•˜κΈ° μœ„ν•΄ 체계적인 λΌμš°νŒ… 및 파일 λͺ…λͺ… κ·œμΉ™μ„ μ œκ³΅ν•˜λŠ” React ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€ [1]. 특히 μ΅œμ‹  App Router ν™˜κ²½μ—μ„œλŠ” React μ„œλ²„ μ»΄ν¬λ„ŒνŠΈ(RSC)λ₯Ό ν™œμš©ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈ μΈ‘ μžλ°”μŠ€ν¬λ¦½νŠΈ μ „μ†‘λŸ‰μ„ 쀄이고 초기 λ‘œλ”© 및 ν•˜μ΄λ“œλ ˆμ΄μ…˜(Hydration) 속도λ₯Ό μ΅œμ ν™”ν•©λ‹ˆλ‹€ [2-4]. 체계적인 폴더 ꡬ쑰와 라우트 κ·Έλ£Ή κΈ°λŠ₯을 톡해 ν”„λ‘ νŠΈμ—”λ“œ μ„±λŠ₯ μ΅œμ ν™”μ™€ λŒ€κ·œλͺ¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ ν™•μž₯을 μ›ν™œν•˜κ²Œ μ§€μ›ν•˜λŠ” ν˜„λŒ€μ μΈ 개발 λ„κ΅¬λ‘œ 평가받고 μžˆμŠ΅λ‹ˆλ‹€ [5-7]. ## πŸ“– Core Content * **λΌμš°νŒ… 및 특수 파일 λͺ…λͺ… κ·œμΉ™:** Next.jsλŠ” λΌμš°νŒ…κ³Ό μ•± ꡬ쑰λ₯Ό μ •μ˜ν•˜κΈ° μœ„ν•΄ μ—„κ²©ν•œ 파일 λͺ…λͺ… κ·œμΉ™μ„ μ‚¬μš©ν•©λ‹ˆλ‹€ [5]. 라우트λ₯Ό μœ„ν•œ `page.js`, 곡유 λ ˆμ΄μ•„μ›ƒμ„ μœ„ν•œ `layout.js`, μ»€μŠ€ν…€ μ—λŸ¬ 처리λ₯Ό μœ„ν•œ `error.js`, λ‘œλ”© μƒνƒœλ₯Ό μœ„ν•œ `loading.js`κ°€ 핡심 파일둜 μ‚¬μš©λ©λ‹ˆλ‹€ [1]. 일반적인 파일λͺ…은 OS κ°„ ν˜Έν™˜μ„±κ³Ό URL 가독성을 μœ„ν•΄ kebab-case(예: `user-profile.tsx`)λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λ©°, 파일 λ‚΄λΆ€μ˜ React μ»΄ν¬λ„ŒνŠΈ 이름은 PascalCaseλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€ [8, 9]. λ˜ν•œ 동적 λΌμš°νŒ…μ—λŠ” `[param]`, 포괄적(Catch-all) λΌμš°νŒ…μ—λŠ” `[...param]` ν˜•μ‹μ„ μ‚¬μš©ν•©λ‹ˆλ‹€ [1]. * **κΈ°λŠ₯ 기반 폴더 ꡬ쑰와 라우트 κ·Έλ£Ή (Route Groups):** λŒ€κ·œλͺ¨ μ•±μ—μ„œλŠ” κΈ°λŠ₯(Feature)을 κΈ°μ€€μœΌλ‘œ 폴더λ₯Ό κ΅¬μ„±ν•˜μ—¬(예: `features/auth/components/login-form.tsx`) μ½”λ“œμ˜ 응집도와 ν™•μž₯성을 λ†’μ΄λŠ” 것이 ꢌμž₯λ©λ‹ˆλ‹€ [1, 6]. λ”λΆˆμ–΄ 폴더λͺ…을 κ΄„ν˜Έλ‘œ κ°μ‹ΈλŠ” 라우트 κ·Έλ£Ή κΈ°λŠ₯(예: `(marketing)`)을 ν™œμš©ν•˜λ©΄, μ‹€μ œ URL κ²½λ‘œμ— 영ν–₯을 μ£Όμ§€ μ•ŠμœΌλ©΄μ„œλ„ μ—°κ΄€λœ λΌμš°νŠΈλ“€μ„ λ…Όλ¦¬μ μœΌλ‘œ λ¬Άκ³  νŠΉμ • κ·Έλ£Ήμ—λ§Œ κ°œλ³„μ μΈ λ ˆμ΄μ•„μ›ƒ(`layout.tsx`)을 μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [10, 11]. * **μ„±λŠ₯ μ΅œμ ν™” 및 μ„œλ²„ μ»΄ν¬λ„ŒνŠΈ (RSC):** Next.js의 App Router(v13 이후)μ—μ„œλŠ” React μ„œλ²„ μ»΄ν¬λ„ŒνŠΈ(React Server Components)κ°€ ν†΅ν•©λ˜μ–΄ μžˆμ–΄ λΆˆν•„μš”ν•œ ν΄λΌμ΄μ–ΈνŠΈ μΈ‘ JS μ½”λ“œλ₯Ό μ œκ±°ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3, 4]. μ„œλ²„ μ»΄ν¬λ„ŒνŠΈλŠ” μ„œλ²„μ—μ„œλ§Œ λ Œλ”λ§λ˜κ³  λ°μ΄ν„°λ² μ΄μŠ€λ‚˜ APIμ—μ„œ 직접 데이터λ₯Ό κ°€μ Έμ˜¬ 수 μžˆμ–΄, JS λ²ˆλ“€ 크기λ₯Ό 쀄이고 초기 ν™”λ©΄ 그리기(First Paint) 및 μƒν˜Έμž‘μš©μ„±(TTI)을 크게 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€ [4, 12]. 읽기 μ „μš©μ˜ 정적 UIλŠ” μ„œλ²„ μ»΄ν¬λ„ŒνŠΈλ‘œ κ΅¬μ„±ν•˜κ³ , λͺ¨λ‹¬μ΄λ‚˜ μž…λ ₯ 폼 λ“± μƒν˜Έμž‘μš©μ΄ μ¦‰κ°μ μœΌλ‘œ ν•„μš”ν•œ μš”μ†Œμ—λ§Œ μ œν•œμ μœΌλ‘œ ν΄λΌμ΄μ–ΈνŠΈ μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‚¬μš©ν•˜λŠ” μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ΄ μ€‘μš”ν•©λ‹ˆλ‹€ [13]. ## πŸ”— Knowledge Connections - **Related Topics:** [[React Server Components]], [[Frontend Folder Structure]], [[Code Splitting]], [[React]] - **Projects/Contexts:** [[Next.js App Router]], [[Frontend Performance Optimization]] - **Contradictions/Notes:** μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. --- *Last updated: 2026-04-26*