# [[Design Systems]] ## πŸ“Œ Brief Summary λ””μžμΈ μ‹œμŠ€ν…œ(Design System)은 λͺ…ν™•ν•œ ν‘œμ€€μ— 따라 κ°€μ΄λ“œλ˜λ©° μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬μΆ•ν•˜κΈ° μœ„ν•΄ 쑰립할 수 μžˆλŠ” μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈλ“€μ˜ μ§‘ν•©μž…λ‹ˆλ‹€ [1]. μ΄λŠ” λΈŒλžœλ“œμ˜ μ‹œκ°μ  정체성을 ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•œ κ²ƒμœΌλ‘œ, ν”Œλž«νΌ μ „λ°˜μ˜ 일관성을 보μž₯ν•˜κ³  개발 μ›Œν¬ν”Œλ‘œμš° 속도λ₯Ό λ†’μž…λ‹ˆλ‹€ [2, 3]. λ””μžμΈ μ‹œμŠ€ν…œμ˜ κ°€μž₯ 핡심적인 기초 블둝은 색상, 간격, νƒ€μ΄ν¬κ·Έλž˜ν”Ό λ“±μ˜ μ‹œκ°μ  λ””μžμΈ 속성을 μ €μž₯ν•˜λŠ” 'λ””μžμΈ 토큰(Design Tokens)'μž…λ‹ˆλ‹€ [1, 3]. ## πŸ“– Core Content **λ””μžμΈ μ‹œμŠ€ν…œμ˜ λͺ©μ κ³Ό κ°€μΉ˜** * **일관성 및 νš¨μœ¨μ„± 확보:** λ””μžμΈ μ‹œμŠ€ν…œμ€ μ œν’ˆ 및 ν”Œλž«νΌ μ „λ°˜μ— 걸친 λ””μžμΈ 일관성을 μœ μ§€ν•˜κ³ , λ””μžμΈ 및 개발 μ›Œν¬ν”Œλ‘œμš°λ₯Ό λ‹¨μΆ•ν•˜λ©°, λ””μžμ΄λ„ˆμ™€ μ—”μ§€λ‹ˆμ–΄ κ°„μ˜ 곡톡 μ–Έμ–΄λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€ [2]. * **λ°˜μ‘ν˜• λ””μžμΈμ˜ λ‚΄μž₯:** λŒ€κ·œλͺ¨ μ‘°μ§μ—μ„œ λ°œμƒν•˜λŠ” λ°˜μ‘ν˜• λ””μžμΈ(Responsive Design)의 뢈일치λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄, λ””μžμΈ μ‹œμŠ€ν…œμ€ κ°œλ³„ νŽ˜μ΄μ§€κ°€ μ•„λ‹Œ μ»΄ν¬λ„ŒνŠΈ μžμ²΄μ— λ°˜μ‘ν˜• λ™μž‘μ„ μ†μ„±μœΌλ‘œ λ‚΄μž₯ν•˜μ—¬ μž¬μ‚¬μš©μ„±μ„ κ·ΉλŒ€ν™”ν•©λ‹ˆλ‹€ [4]. **λ””μžμΈ 토큰 (Design Tokens)κ³Ό 계측 ꡬ쑰** λ””μžμΈ 토큰은 λ””μžμΈ μ‹œμŠ€ν…œμ˜ μ‹œκ°μ  λ””μžμΈ μ›μž(atoms) 역할을 ν•˜λ©°, ν”Œλž«νΌμ— ꡬ애받지 μ•Šκ³ (platform-agnostic) μ‹œκ°μ  λ””μžμΈ 속성을 μ €μž₯ν•˜λŠ” 이름이 λΆ€μ—¬λœ 개체(named entities)μž…λ‹ˆλ‹€ [1-3]. 토큰은 주둜 3λ‹¨κ³„μ˜ 계측 ꡬ쑰둜 μ²΄κ³„ν™”λ©λ‹ˆλ‹€ [5-7]: * **Global Tokens (Primitives):** μ»¨ν…μŠ€νŠΈ 없이 λ…λ¦½μ μœΌλ‘œ μ‘΄μž¬ν•˜λŠ” μ›μ‹œ κ°’μœΌλ‘œ κΈ°λ³Έ νŒ”λ ˆνŠΈ 역할을 ν•©λ‹ˆλ‹€ (예: `--blue-500: #3b82f6`) [5-7]. * **Alias Tokens (Semantic):** νŠΉμ • μ˜λ„λ‚˜ μ‚¬μš© 사둀λ₯Ό λ‚˜νƒ€λ‚΄λ©° κΈ€λ‘œλ²Œ 토큰을 μ°Έμ‘°ν•˜μ—¬ 토큰에 의미(context)λ₯Ό λΆ€μ—¬ν•©λ‹ˆλ‹€ (예: `--color-primary: var(--blue-500)`) [5-7]. * **Component Tokens:** νŠΉμ • UI μš”μ†Œμ— κ΅­ν•œλ˜μ–΄ κΈ€λ‘œλ²Œ λ˜λŠ” 별칭 토큰을 μ°Έμ‘°ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 λ‹€λ₯Έ μ‹œμŠ€ν…œμ— 영ν–₯을 μ£Όμ§€ μ•Šκ³  κ°œλ³„ μ»΄ν¬λ„ŒνŠΈμ˜ μŠ€νƒ€μΌμ„ μ„Έλ°€ν•˜κ²Œ μ‘°μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€ (예: `--button-bg-primary: var(--color-primary)`) [5, 7, 8]. **κ΅¬ν˜„ 및 ν”„λ‘ νŠΈμ—”λ“œ μ•„ν‚€ν…μ²˜μ™€μ˜ κ²°ν•©** * **단일 μ§„μ‹€ 곡급원(Single Source of Truth) μžλ™ν™”:** 닀쀑 ν”Œλž«νΌ(Web, iOS, Android)을 μ§€μ›ν•˜λŠ” λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈμ—μ„œ λ””μžμΈ 토큰은 JSON ν˜•μ‹μœΌλ‘œ μ €μž₯되며, Style Dictionary 같은 도ꡬλ₯Ό 톡해 CSS λ³€μˆ˜, iOS Swift, Android XML λ“± ν”Œλž«νΌλ³„ μ½”λ“œλ‘œ λ³€ν™˜λ©λ‹ˆλ‹€ [2, 9, 10]. μ΄λŠ” μˆ˜μž‘μ—…μœΌλ‘œ μΈν•œ 였λ₯˜λ₯Ό μ—†μ• κ³  λͺ¨λ“  μ œν’ˆ μƒνƒœκ³„μ—μ„œ μ‹œκ°μ  일관성을 보μž₯ν•©λ‹ˆλ‹€ [10]. * **CSS λ°©λ²•λ‘ κ³Όμ˜ μ‹œλ„ˆμ§€:** Tailwind CSSλŠ” ν”„λ‘œμ νŠΈ μ „μ²΄μ˜ 색상, νƒ€μ΄ν¬κ·Έλž˜ν”Ό μŠ€μΌ€μΌ 등을 ꡬ성 파일(configuration file)둜 μ •μ˜ν•˜μ—¬ λ””μžμΈ μ‹œμŠ€ν…œμ„ μ—„κ²©νžˆ κ°•μ œν•¨μœΌλ‘œμ¨ "300κ°€μ§€ 그림자" 같은 일관성 문제λ₯Ό λ°©μ§€ν•©λ‹ˆλ‹€ [11]. λ˜ν•œ, Panda CSS와 같은 μ΅œμ‹  Zero-Runtime CSS-in-JS λΌμ΄λΈŒλŸ¬λ¦¬λŠ” λ””μžμΈ μ‹œμŠ€ν…œκ³Ό ν…Œλ§ˆλ₯Ό 기본적으둜 μ§€μ›ν•˜λŠ” 토큰 μ‹œμŠ€ν…œμ„ λ‚΄μž₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [12]. ## πŸ”— Knowledge Connections - **Related Topics:** [[Design Tokens]], [[Tailwind CSS]], [[CSS Architecture]], [[Responsive Web Design]], [[BEM]] - **Projects/Contexts:** [[λŒ€κ·œλͺ¨ ν”„λ‘ νŠΈμ—”λ“œ ν”„λ‘œμ νŠΈμ˜ μŠ€νƒ€μΌ ν™•μž₯μ„± 및 μœ μ§€λ³΄μˆ˜μ„± (Scalability and Maintainability in Large Frontend Projects)]] - **Contradictions/Notes:** λ””μžμΈκ³Ό 개발 κ°„μ˜ μ™„λ²½ν•œ μžλ™ν™”λ₯Ό λͺ©ν‘œλ‘œ ν•˜μ§€λ§Œ, Figma와 같은 λ””μžμΈ μ•± μžμ²΄μ—λŠ” λ””μžμΈ 토큰을 μ™„λ²½ν•˜κ²Œ 관리할 수 μžˆλŠ” λ‚΄μž₯ μ†”λ£¨μ…˜μ΄ λΆ€μ‘±ν•˜μ—¬ ν”ŒλŸ¬κ·ΈμΈ(Figma Tokens λ“±)μ΄λ‚˜ Style Dictionary와 같은 μ„œλ“œνŒŒν‹° 도ꡬλ₯Ό ν†΅ν•œ 좔가적인 μˆ˜λ™ ꡬ성과 μ›Œν¬ν”Œλ‘œμš° 톡합이 ν•„μˆ˜μ μœΌλ‘œ μš”κ΅¬λœλ‹€λŠ” ν•œκ³„κ°€ μ§€μ λ©λ‹ˆλ‹€ [13]. --- *Last updated: 2026-04-26*