고급 라우팅 기능은 해결하는 문제가 서로 다르다
라우트 그룹, 병렬 라우트, 인터셉팅 라우트는 모두 폴더 규칙이지만 URL, 레이아웃, 사용자 흐름 중 어디를 조정하는지가 다르다.
| 기능 | 해결하는 문제 | URL에 보이는가 | 필수 파일/규칙 |
|---|---|---|---|
| Route Groups | 관련 라우트를 논리적으로 묶고 그룹별 레이아웃 적용 | 아니오, 괄호 폴더는 숨겨짐 | (group)/layout.tsx, 최종 URL 충돌 확인 |
| Parallel Routes | 한 화면 안의 여러 패널을 독립 슬롯으로 렌더 | 아니오, @slot은 URL 세그먼트가 아님 | @analytics/page.tsx, layout props, default.tsx |
| Intercepting Routes | 목록 흐름에서는 모달, 직접 접근은 전체 페이지로 렌더 | 예, 상세 URL은 유지됨 | (..)photo/[id], @modal, 원본 photo/[id] |
| Dynamic Routes | URL 조각을 데이터 조회 키로 사용 | 예, [id]가 실제 값으로 바뀜 | [id]/page.tsx, params await |
| Nested Layouts | 하위 경로가 공통 UI를 공유 | 예, 실제 폴더 세그먼트가 URL 형성 | layout.tsx와 children 위치 |