# [[Headless UI|Headless UI]] ## πŸ“Œ Brief Summary Headless UI(ν—€λ“œλ¦¬μŠ€ UI)λŠ” μ‹œκ°μ μΈ μŠ€νƒ€μΌμ΄λ‚˜ λ§ˆν¬μ—… 없이 μ»΄ν¬λ„ŒνŠΈμ˜ μƒνƒœ, λ™μž‘ 둜직, 그리고 μ ‘κ·Όμ„±(A11y) κΈ°λŠ₯λ§Œμ„ μ œκ³΅ν•˜λŠ” UI 섀계 νŒ¨ν„΄μ΄μž μ»΄ν¬λ„ŒνŠΈ 라이브러리 ν˜•νƒœμž…λ‹ˆλ‹€ [1-3]. 이λ₯Ό 톡해 κ°œλ°œμžλŠ” λ³΅μž‘ν•œ λ‚΄λΆ€ μƒνƒœ κ΄€λ¦¬λ‚˜ λΈŒλΌμš°μ €λ³„ μƒν˜Έμž‘μš©μ˜ 어렀움을 덜고, μžμ‹ λ§Œμ˜ μ‹œκ°μ  μš”μ†Œ(Visuals)와 λ””μžμΈ μ‹œμŠ€ν…œμ„ 자유둭게 μž…νž 수 μžˆμŠ΅λ‹ˆλ‹€ [2, 4]. 특히 κ³ λ„λ‘œ λ§žμΆ€ν™”λœ λΈŒλžœλ”©μ΄ ν•„μš”ν•œ μ•±μ΄λ‚˜ [[Tailwind CSS|Tailwind CSS]]와 같은 μœ ν‹Έλ¦¬ν‹° μš°μ„  ν”„λ ˆμž„μ›Œν¬μ™€ κ²°ν•©ν•  λ•Œ 맀우 κ°•λ ₯ν•œ ν™•μž₯성을 λ°œνœ˜ν•©λ‹ˆλ‹€ [2, 4]. ## πŸ“– Core Content * **κ°œλ… 및 μ—­ν• **: Headless μ»΄ν¬λ„ŒνŠΈλŠ” μŠ€νƒ€μΌμ΄ μ§€μ •λ˜μ§€ μ•Šμ€ 둜직 μ „μš© ν›…(hooks) λ˜λŠ” μ»΄ν¬λ„ŒνŠΈλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€ [1]. μ‹œκ°μ  ν‘œν˜„(UI)에 λŒ€ν•œ κ²°μ •κΆŒμ„ μ „μ μœΌλ‘œ μ†ŒλΉ„μž(Consumer)μ—κ²Œ μœ„μž„ν•˜λ©°, μ»΄ν¬λ„ŒνŠΈ μžμ²΄λŠ” μƒνƒœμ™€ λ™μž‘ λ…Όλ¦¬λ§Œμ„ μ œκ³΅ν•©λ‹ˆλ‹€ [4, 5]. * **ν™•μž₯μ„± 및 μž₯점**: 둜직과 λ§ˆν¬μ—…μ΄ λͺ…ν™•ν•˜κ²Œ λΆ„λ¦¬λ˜μ–΄ μžˆμ–΄ μ»΄ν¬λ„ŒνŠΈμ˜ μ‘°ν•©μ„±(Composability)이 맀우 λ›°μ–΄λ‚©λ‹ˆλ‹€ [3]. νŠΉμ • ν”„λ ˆμž„μ›Œν¬λ‚˜ λ””μžμΈ μ‹œμŠ€ν…œμ— μ’…μ†λ˜μ§€ μ•Šκ³  접근성이 높은 라이브러리λ₯Ό κ΅¬μΆ•ν•˜λŠ” 데 μ ν•©ν•©λ‹ˆλ‹€ [3]. λ˜ν•œ, UI 없이도 λ‚΄λΆ€ 둜직(Hook λ“±)을 κ°œλ³„μ μœΌλ‘œ ν…ŒμŠ€νŠΈν•  수 μžˆμ–΄ κ΄€μ‹¬μ‚¬μ˜ 뢄리가 λͺ…ν™•ν•΄μ§‘λ‹ˆλ‹€ [6]. * **μƒνƒœκ³„ 및 톡합**: 2025λ…„ κΈ°μ€€ λͺ¨λ˜ ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμ—μ„œλŠ” [[Radix UI|Radix UI]]λ‚˜ Tailwind μ œμž‘μžκ°€ λ§Œλ“  Headless UI 라이브러리λ₯Ό ν™œμš©ν•˜λŠ” 것이 μ£Όμš” νŠΈλ Œλ“œμž…λ‹ˆλ‹€ [2]. μ΄λŸ¬ν•œ λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ€ λ“œλ‘­λ‹€μš΄, λ‹€μ΄μ–Όλ‘œκ·Έμ™€ 같은 λ³΅μž‘ν•œ μ»΄ν¬λ„ŒνŠΈμ˜ λ‘œμ§μ„ μ²˜λ¦¬ν•΄μ£Όλ©°, κ°œλ°œμžλŠ” Tailwind CSSλ₯Ό ν™œμš©ν•΄ μŠ€νƒ€μΌλ§λ§Œ λ‹΄λ‹Ήν•¨μœΌλ‘œμ¨ μ‹œκ°μ  일관성과 접근성을 λ™μ‹œμ— 확보할 수 μžˆμŠ΅λ‹ˆλ‹€ [2, 7]. * **μ£Όμš” μ‚¬μš© 사둀 (Use Cases)**: νŠΉμ •ν•œ μŠ€νƒ€μΌ μ˜€ν”Όλ‹ˆμ–Έ(Opinions)이 κ³ μ •λœ μ»΄ν¬λ„ŒνŠΈ 라이브러리λ₯Ό ν”Όν•˜κ³ , λΈŒλžœλ“œ λ§žμΆ€ν˜• UIλ₯Ό μ™„λ²½ν•˜κ²Œ ν†΅μ œν•˜κ³  싢을 λ•Œ μ΄μƒμ μž…λ‹ˆλ‹€ [4, 5]. λŒ€ν‘œμ μΈ μ˜ˆμ‹œλ‘œλŠ” 둜직만 λ…ΈμΆœν•˜κ³  UI μ •μ˜λ₯Ό κ°œλ°œμžμ—κ²Œ λ§‘κΈ°λŠ” Down[[Shift|Shift]]의 `useCombobox()` 등이 μžˆμŠ΅λ‹ˆλ‹€ [3]. ## πŸ”— Knowledge Connections - **Related Topics:** [[Tailwind CSS|Tailwind CSS]], Compound Components, Design Tokens, [[Accessibility (A11y)|Accessibility (A11y]] - **Projects/Contexts:** [[Radix UI|Radix UI]], [[Downshift|Downshift]] - **Contradictions/Notes:** μ†ŒμŠ€μ— λ”°λ₯΄λ©΄ Headless μ»΄ν¬λ„ŒνŠΈλŠ” 였직 둜직과 μƒνƒœλ§Œμ„ μ œκ³΅ν•˜μ—¬ μ‹œκ°μ  λ””μžμΈμ„ μ‚¬μš©μžμ—κ²Œ λ§‘κΈ°λŠ” 반면, Styled μ»΄ν¬λ„ŒνŠΈ(의견이 반영된 μ»΄ν¬λ„ŒνŠΈ)λŠ” 사전 μ •μ˜λœ μŠ€νƒ€μΌμ„ ν•¨κ»˜ μ œκ³΅ν•œλ‹€λŠ” μ μ—μ„œ λͺ…ν™•ν•œ 차이와 λŒ€λΉ„λ₯Ό λ³΄μž…λ‹ˆλ‹€ [5]. --- *Last updated: 2026-04-26*