Route Groups
app ๋๋ ํ ๋ฆฌ์์ ์ค์ฒฉ๋ ํด๋๋ ์ผ๋ฐ์ ์ผ๋ก URL ๊ฒฝ๋ก์ ๋งคํ๋ฉ๋๋ค.
๊ทธ๋ฌ๋, ํด๋๋ฅผ rouet groups(๋ผ์ฐํธ ๊ทธ๋ฃน)์ผ๋ก ํ์ํ์ฌ ํด๋๊ฐ ๊ฒฝ๋ก์ URL ๊ฒฝ๋ก์ ํฌํจ๋์ง ์๋๋ก ํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด URL ๊ฒฝ๋ก ๊ตฌ์กฐ์ ์ํฅ์ ์ฃผ์ง ์๊ณ , ๊ฒฝ๋ก ์ธ๊ทธ๋จผํธ์ ํ๋ก์ ํธ ํ์ผ์ ๋ ผ๋ฆฌ์ ๊ทธ๋ฃน์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๋ผ์ฐํธ ๊ทธ๋ฃน์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค:
- URL ๊ฒฝ๋ก์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ผ์ฐํธ๋ฅผ ๊ทธ๋ฃนํํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์: ์ฌ์ดํธ ์น์ , ์๋, ํ๋ณ๋ก ๊ทธ๋ฃนํํฉ๋๋ค.
- ๋์ผํ ๋ผ์ฐํธ ์ธ๊ทธ๋จผํธ ์์ค์์ ์ค์ฒฉ๋ ๋ ์ด์์์ ํ์ฑํํ ์ ์์ต๋๋ค:
1. Convention(์ปจ๋ฒค์ )
๋ผ์ฐํธ ๊ทธ๋ฃน์ ํด๋ ์ด๋ฆ์ ๊ดํธ๋ก ๊ฐ์ธ์ ๋ง๋ค ์ ์์ต๋๋ค: (folderName)
2. ์์
2.1 URL ๊ฒฝ๋ก์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ผ์ฐํธ ๊ตฌ์ฑํ๊ธฐ
URL ๊ฒฝ๋ก์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ผ์ฐํธ๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด ๊ด๋ จ ๋ผ์ฐํธ๋ฅผ ๋ชจ์ ๊ทธ๋ฃน์ผ๋ก ์ง์ ํฉ๋๋ค.
๊ดํธ ์์ ์๋ ํด๋๋ค์ URL ๊ฒฝ๋ก์์ ์ ์ธ๋ฉ๋๋ค. (์: (marketing) ํน์ (shop))

(marketing) ๊ณผ (shop) ๋ด๋ถ์ ๊ฒฝ๋ก๊ฐ ๋์ผํ URL ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ณต์ ํ๋๋ผ๋,
ํด๋์ layout.js ํ์ผ์ ์ถ๊ฐํ์ฌ ๊ฐ ๊ทธ๋ฃน๋ง๋ค ๋ค๋ฅธ ๋ ์ด์์์ ๋ง๋ค ์ ์์ต๋๋ค.

2.2 ํน์ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ ์ด์์์ผ๋ก ์ค์ ํ๊ธฐ
ํน์ ๋ผ์ฐํธ๋ฅผ ๋ ์ด์์์ผ๋ก ์ค์ ํ๋ ค๋ฉด ์๋ก์ด ๋ผ์ฐํธ ๊ทธ๋ฃน (์: (shop))์ ๋ง๋ค๊ณ ,
๋์ผํ ๋ ์ด์์์ ์ ์ฉํ ๋ผ์ฐํธ๋ค์ ๊ทธ๋ฃน ์์ผ๋ก ๋ฃ์ต๋๋ค (์: account ์ cart).
๊ทธ๋ฃน ๋ฐ์ ์๋ ๋ผ์ฐํธ๋ค์ ๊ทธ๋ฃน ๋ ์ด์์์ด ์ ์ฉ๋์ง ์์ต๋๋ค. (์: checkout)

2.3 Creating multiple root layouts
์ฌ๋ฌ ๊ฐ์ ๋ฃจํธ ๋ ์ด์์์ ๋ง๋ค๋ ค๋ฉด, ๊ฐ์ฅ ์์ ํด๋์ layout.js ํ์ผ์ ์ญ์ ํ๊ณ , ๊ฐ๊ฐ์ ๋ผ์ฐํธ ๊ทธ๋ฃน์ layout.js ํ์ผ์ ์ถ๊ฐํฉ๋๋ค.
์ด๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ ํ ๋ค๋ฅธ UI ๋๋ ๊ฒฝํ์ ๊ฐ์ง ์น์
์ผ๋ก ๋ถํ ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
๊ฐ ๋ฃจํธ ๋ ์ด์์์ <html> ๋ฐ <body> ํ๊ทธ๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค.

์์ ์์์์ (marketing) ๊ณผ (shop) ๋ผ์ฐํธ์๋ ๊ฐ์์ ๋ฃจํธ ๋ ์ด์์์ด ์ ์ฉ๋ฉ๋๋ค.
์ฐธ๊ณ :
- ๋ผ์ฐํธ ๊ทธ๋ฃน์ ์ด๋ฆ์ ๊ทธ๋ฃนํ๋ฅผ ํตํ ์ ๋ฆฌ๋ฅผ ์ํ ๊ฒ์ผ๋ฟ, ๋ค๋ฅธ ํน๋ณํ ์๋ฏธ๋ ์์ต๋๋ค.
- ๋ผ์ฐํธ ๊ทธ๋ฃน์ ์ด๋ฆ์ด URL ๊ฒฝ๋ก์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
- ๋ค๋ฅธ ๋ผ์ฐํธ ๊ทธ๋ฃน์ ํฌํจํ๋ ๋ผ์ฐํธ๋ ๋ค๋ฅธ ๋ผ์ฐํธ์ ๊ฐ์ URL ๊ฒฝ๋ก๋ก ๊ท๊ฒฐ๋๋ฉด ์๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ๋ผ์ฐํธ ๊ทธ๋ฃน์ URL ๊ตฌ์กฐ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฏ๋ก,
(marketing)/about/page.jsํ์ผ๊ณผ(shop)/about/page.jsํ์ผ ๋ชจ๋/about๊ฒฝ๋ก์ ๊ท๊ฒฐ๋์ด ์๋ฌ๋ฅผ ๋ฐ์์ํต๋๋ค.- ์ต์์ ํด๋์
layout.jsํ์ผ ์์ด ๋ฃจํธ ๋ ์ด์์์ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ,
app/(marketing)/page.js์ฒ๋ผpage.jsํ์ผ์ด ๋ผ์ฐํธ ๊ทธ๋ฃน ์ค ํ๋์ ์ ์๋์ด์ผ ํฉ๋๋ค.- ์ฌ๋ฌ ๋ฃจํธ ๋ ์ด์์์ ๊ฑฐ์ณ ํ์ํ๋ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ ์ธก ํ์๊ณผ ๋ฌ๋ฆฌ ์ ์ฒด ํ์ด์ง ๋ก๋(full page load)๊ฐ ๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด,
app/(shop)/layout.jsํ์ผ์ ์ฌ์ฉํ๋/cart์์๋ถํฐapp/(marketing)/layout.jsํ์ผ์ ์ฌ์ฉํ๋/blog์ผ๋ก ์ด๋ํ๋ฉด ์ ์ฒด ํ์ด์ง ๋ก๋ฉ์ด ๋ฐ์ํฉ๋๋ค.- ์ด๊ฒ์ ๋ค์ค ๋ฃจํธ ๋ ์ด์์์ด ์์ ๋๋ง ์ ์ฉ๋ฉ๋๋ค.