--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Design Tokens|Design Tokens]] last_updated: 2026-05-02 --- # [[Design Tokens|Design Tokens]] ## ๐Ÿ“Œ Brief Summary ๋””์ž์ธ ํ† ํฐ(Design Tokens)์€ ์ƒ‰์ƒ, ์„œ์ฒด, ๊ฐ„๊ฒฉ, ๊ทธ๋ฆผ์ž, ๋ชจ์…˜ ๋“ฑ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‹œ๊ฐ์  DNA๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์›์ž ๋‹จ์œ„์˜ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์ž…๋‹ˆ๋‹ค [1-3]. ์ด ๋ฐ์ดํ„ฐ๋Š” JSON์ด๋‚˜ YAML๊ณผ ๊ฐ™์€ ๊ธฐ๊ณ„ ํŒ๋… ๊ฐ€๋Šฅํ•œ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜์–ด ๋””์ž์ธ ๋„๊ตฌ์™€ ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋‹จ์ผ ์ง„์‹ค ๊ณต๊ธ‰์›([[Single_Source_of_Truth|Single Source of Truth]]) ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค [1, 4, 5]. ๋””์ž์ธ ํ† ํฐ์€ ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์„ ๋Œ€์ฒดํ•จ์œผ๋กœ์จ UI ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ , ๋‹คํฌ ๋ชจ๋“œ์™€ ๊ฐ™์€ ๋™์  ํ…Œ๋งˆ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ „ํ™˜ํ•˜๋ฉฐ, React ํ”„๋กœ์ ํŠธ์—์„œ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค [6-8]. --- > ์ง€์‹ ์š”์•ฝ ์ •๋ณด ์ถ”์ถœ ์ค‘... --- ๋””์ž์ธ ํ† ํฐ(Design Tokens)์€ ์ƒ‰์ƒ, ๊ฐ„๊ฒฉ, ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ์™€ ๊ฐ™์€ ์‹œ๊ฐ์  ๋””์ž์ธ ์†์„ฑ์„ ์ €์žฅํ•˜๋Š” ์ด๋ฆ„์ด ์ง€์ •๋œ ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ธ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค [1-3]. ๋””์ž์ธ ์‹œ์Šคํ…œ ๋‚ด์—์„œ ํ•˜๋‚˜์˜ ์ง„์‹ค์˜ ์›์ฒœ([[Single_Source_of_Truth|Single Source of Truth]])์œผ๋กœ ๊ธฐ๋Šฅํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด CSS ๋ณ€์ˆ˜, iOS Swift, Android XML ๋“ฑ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ์–ธ์–ด์— ๋งž๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž๋™ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 4, 5]. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋””์ž์ธ๊ณผ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€ ๊ฐ„์˜ ๊ณตํ†ต ์–ธ์–ด๋ฅผ ํ˜•์„ฑํ•˜๊ณ , ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ผ๊ด€์„ฑ ์žˆ๋Š” UI ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [1, 6]. --- ๋””์ž์ธ ํ† ํฐ์€ ์ƒ‰์ƒ, ๊ฐ„๊ฒฉ, ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ, ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋“ฑ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ์‹œ๊ฐ์  ์†์„ฑ๋“ค์„ ์ €์žฅํ•˜๊ณ  ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ๋ถ€์—ฌํ•œ ์›์ž ๋‹จ์œ„์˜ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค [1-3]. ๋‹จ์ผ ์ง„์‹ค ๊ณต๊ธ‰์›([[Single_Source_of_Truth|Single Source of Truth]]) ์—ญํ• ์„ ํ•˜์—ฌ ์ „์—ญ์ ์ธ ๋””์ž์ธ ๋ณ€๊ฒฝ ๋ฐ ํ…Œ๋งˆ ์ ์šฉ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ณ , ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž ๊ฐ„์˜ ๋ช…ํ™•ํ•œ ์†Œํ†ต์„ ๋•์Šต๋‹ˆ๋‹ค [2, 4]. ๋˜ํ•œ ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ธ ํŠน์„ฑ์„ ๊ฐ€์ ธ, ๋™์ผํ•œ ํ† ํฐ ๋ฐ์ดํ„ฐ(JSON ๋“ฑ)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ CSS ๋ณ€์ˆ˜, iOS Swift, Android XML ๋“ฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์— ๋งž๋Š” ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4, 5]. ## ๐Ÿ“– Core Content * **๋””์ž์ธ ํ† ํฐ์˜ 3๊ณ„์ธต ๊ตฌ์กฐ:** ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์•ˆ์ „ํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๋””์ž์ธ ํ† ํฐ์€ 3๋‹จ๊ณ„ ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค [9-11]. * **์›์‹œ/๊ธฐ๋ณธ ํ† ํฐ (Primitive/Base Tokens):** `#3366FF`๋‚˜ `16px`๊ณผ ๊ฐ™์€ ๊ตฌ์ฒด์ ์ด๊ณ  ์›์‹œ์ ์ธ ๊ฐ’์œผ๋กœ, ์‹œ๋งจํ‹ฑ(์˜๋ฏธ๋ก ์ )์ธ ๋ชฉ์ ์„ ๊ฐ–์ง€ ์•Š๋Š” ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค [10, 12-14]. * **์‹œ๋งจํ‹ฑ/์•จ๋ฆฌ์–ด์Šค ํ† ํฐ (Semantic/Alias Tokens):** ์›์‹œ ํ† ํฐ์„ ์ฐธ์กฐํ•˜์—ฌ ๋””์ž์ธ์˜ '์˜๋„'์™€ ์—ญํ• ์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: `color.primary = color.blue.500`) [10, 12-14]. ์•ˆ์ „ํ•œ ๋ฆฌํŒฉํ† ๋ง๊ณผ ํ…Œ๋งˆ ์ „ํ™˜์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค [10, 12]. * **์ปดํฌ๋„ŒํŠธ ํ† ํฐ (Component Tokens):** ํŠน์ • ์ปดํฌ๋„ŒํŠธ์™€ ๊ทธ ๋ณ€ํ˜•์— ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ํ† ํฐ์ž…๋‹ˆ๋‹ค (์˜ˆ: `button.background = color.primary`) [10-14]. * **๋™์  ํ…Œ๋งˆ ๋ฐ ๋„๊ตฌ ํ†ตํ•ฉ:** ๋””์ž์ธ ํ† ํฐ์„ ํ™œ์šฉํ•˜๋ฉด ๋ณ„๋„์˜ ํ…Œ๋งˆ ํ† ํฐ ์„ธํŠธ(์˜ˆ: Light/Dark ๋ชจ๋“œ)๋ฅผ ์ •์˜ํ•˜์—ฌ **๋™์  ํ…Œ๋งˆ([[Dynamic Theming|Dynamic Theming]])**๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [15, 16]. [[Style Dictionary|Style Dictionary]]์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด JSON์— ์ •์˜๋œ ํ† ํฐ์„ CSS Custom Properties(CSS ๋ณ€์ˆ˜)๋‚˜ iOS, Android, React์šฉ ํฌ๋งท์œผ๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฝ”๋“œ ๋ฒ ์ด์Šค์— ์ฆ‰์‹œ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [17-20]. * **[[Tailwind CSS v4|Tailwind CSS v4]]์™€์˜ ์‹œ๋„ˆ์ง€:** Tailwind CSS v4๋Š” ๊ตฌ์„ฑ ๋ฐฉ์‹์— ์žˆ์–ด [[JavaScript|JavaScript]] ํŒŒ์ผ ๋Œ€์‹  CSS ์šฐ์„ (CSS-first) ๊ตฌ์กฐ๋ฅผ ๋„์ž…ํ•˜์—ฌ ํ† ํฐ ๊ด€๋ฆฌ์— ํŒจ๋Ÿฌ๋‹ค์ž„ ์ „ํ™˜์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค [21-23]. `@theme` ๋””๋ ‰ํ‹ฐ๋ธŒ ๋‚ด์—์„œ ๋””์ž์ธ ํ† ํฐ์„ ๊ธฐ๋ณธ CSS ๋ณ€์ˆ˜๋กœ ์ •์˜ํ•˜๋ฉด, Tailwind๊ฐ€ ์ด์— ๋Œ€์‘ํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: `--color-primary-500` ์„ ์–ธ ์‹œ `bg-primary-500` ์‚ฌ์šฉ ๊ฐ€๋Šฅ) [21-24]. ์ด๋ฅผ ํ†ตํ•ด CSS ๋ณ€์ˆ˜๋ฅผ ๋„ค์ดํ‹ฐ๋ธŒํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , JS ์˜ค๋ฒ„ํ—ค๋“œ ์—†์ด ๊ฐ•๋ ฅํ•œ ๋Ÿฐํƒ€์ž„ ํ…Œ๋งˆ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [23, 25, 26]. * **ํ˜‘์—… ํšจ์œจ์„ฑ ๋ฐ ํ™•์žฅ์„ฑ:** ๋””์ž์ธ ํ† ํฐ์€ ๋””์ž์ด๋„ˆ์™€ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž ๊ฐ„์— ๊ณตํ†ต๋œ ์–ธ์–ด๋ฅผ ํ˜•์„ฑํ•˜์—ฌ ์ค‘๋ณต๋œ ์Šคํƒ€์ผ๋ง์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค [8, 27-29]. ์ค‘์•™ ์ง‘์ค‘์‹ ํ† ํฐ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด CI/CD ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ํ† ํฐ์˜ ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•˜๋ฉด ๋Œ€๊ทœ๋ชจ React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋„ ์‹œ๊ฐ์  ์ผ๊ด€์„ฑ์„ ๊นจ๋œจ๋ฆฌ์ง€ ์•Š๊ณ  ์Šคํƒ€์ผ์„ ์•ˆ์ •์ ์œผ๋กœ ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [30-33]. --- ๋ณธ๋ฌธ ๊ตฌ์กฐํ™” ์ž‘์—… ์ค‘... --- **๋””์ž์ธ ํ† ํฐ์˜ ์—ญํ• ๊ณผ ์ด์ ** ๋””์ž์ธ ํ† ํฐ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์— ๊ฑธ์นœ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ณ  ๋””์ž์ธ ์—…๋ฐ์ดํŠธ๋‚˜ ๋ฆฌ๋ธŒ๋žœ๋”ฉ ๊ณผ์ •์„ ๋Œ€ํญ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค [1]. ํŠน์ • ์ƒ‰์ƒ์ด๋‚˜ ํ”ฝ์…€ ๊ฐ’์„ ํ•˜๋“œ์ฝ”๋”ฉํ•˜๋Š” ๋Œ€์‹  ํ† ํฐ์„ ์ฐธ์กฐํ•จ์œผ๋กœ์จ, ๋‹คํฌ ๋ชจ๋“œ์™€ ๊ฐ™์€ ํ…Œ๋งˆ ๋ณ€๊ฒฝ์ด๋‚˜ ๋‹ค์ค‘ ํ”Œ๋žซํผ ํ™•์žฅ์„ ์œ ์—ฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7]. **๋””์ž์ธ ํ† ํฐ์˜ 3๋‹จ๊ณ„ ๊ณ„์ธต ๊ตฌ์กฐ (Token Hierarchy)** ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋””์ž์ธ ํ† ํฐ์€ ์ผ๋ฐ˜์ ์œผ๋กœ 3๋‹จ๊ณ„๋กœ ๊ตฌ์กฐํ™”๋ฉ๋‹ˆ๋‹ค [8, 9]. * **1๋‹จ๊ณ„: ๊ธ€๋กœ๋ฒŒ ํ† ํฐ (Global Tokens / Primitives):** ๋ฌธ๋งฅ์ด ํฌํ•จ๋˜์ง€ ์•Š์€ ์›์‹œ ํ˜•ํƒœ์˜ ์ƒ‰์ƒ์ด๋‚˜ ํฌ๊ธฐ ๊ฐ’์ž…๋‹ˆ๋‹ค. ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ๊ทผ๋ณธ์ ์ธ ํŒ”๋ ˆํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค (์˜ˆ: `--blue-500: #3b82f6`) [8-10]. * **2๋‹จ๊ณ„: ๋ณ„์นญ/์‹œ๋งจํ‹ฑ ํ† ํฐ (Alias / Semantic Tokens):** ๊ธ€๋กœ๋ฒŒ ํ† ํฐ์„ ์ฐธ์กฐํ•˜๋ฉฐ ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ์˜๋„(๋ฌธ๋งฅ)๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: `--color-primary: var(--blue-500)`, `--color-text-error: var(--red-600)`) [8-10]. * **3๋‹จ๊ณ„: ์ปดํฌ๋„ŒํŠธ ํ† ํฐ (Component Tokens):** ํŠน์ • UI ์ปดํฌ๋„ŒํŠธ์— ์ข…์†๋˜์–ด ๋ณ„์นญ ํ† ํฐ์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๊ฐœ๋ณ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฏธ์„ธ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: `--button-bg-primary: var(--color-primary)`) [8, 9, 11]. **ํ”Œ๋žซํผ ๊ฐ„ ์ž๋™ํ™” ๋ฐ ์›Œํฌํ”Œ๋กœ์šฐ** ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ๋””์ž์ธ ํ† ํฐ์€ ๋ณดํ†ต JSON๊ณผ ๊ฐ™์€ ์ค‘๋ฆฝ์ ์ธ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค [5, 12]. ์ดํ›„ [[Style Dictionary|Style Dictionary]]๋‚˜ Theo์™€ ๊ฐ™์€ ๋ณ€ํ™˜ ๋„๊ตฌ(Transformation tool)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด JSON ๋ฐ์ดํ„ฐ๋ฅผ ์›น์šฉ CSS ๋ณ€์ˆ˜, Android์šฉ XML, iOS์šฉ Swift ์ฝ”๋“œ ๋“ฑ์œผ๋กœ ์ž๋™ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค [4, 5]. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ์ˆ˜๋™์œผ๋กœ ๊ฐ’์„ ์˜ฎ๊ฒจ ์ ์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์— ๊ฑธ์ณ ์™„๋ฒฝํ•œ ์‹œ๊ฐ์  ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค [4, 5]. **๋ช…๋ช… ๊ทœ์น™ ๋ฐ ๊ตฌ์กฐํ™” (Naming Conventions)** ์ƒ‰์ƒ, ๊ฐ„๊ฒฉ, ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ, ํ…Œ๋‘๋ฆฌ, ๊ทธ๋ฆผ์ž ๋“ฑ ๋ชฉ์ ์— ๋”ฐ๋ผ ํ† ํฐ์„ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค [13]. ๋ช…๋ช… ์‹œ Category / Type / Item (CTI) ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจํ˜ธํ•จ ์—†์ด ๋ช…ํ™•ํ•œ ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค (์˜ˆ: `color.background.button.error`) [14-16]. --- * **๋””์ž์ธ ํ† ํฐ ๊ณ„์ธต ๊ตฌ์กฐ (Token Hierarchy)** ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋””์ž์ธ ํ† ํฐ์€ ์ผ๋ฐ˜์ ์œผ๋กœ 3๋‹จ๊ณ„์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค [6, 7]. * **1๋‹จ๊ณ„ - ์ „์—ญ ํ† ํฐ (Global Tokens / Primitives):** ๋งฅ๋ฝ์ด ๋ฐฐ์ œ๋œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์›์‹œ ๊ฐ’์ž…๋‹ˆ๋‹ค (์˜ˆ: `--blue-500: #3b82f6`) [6-8]. * **2๋‹จ๊ณ„ - ์‹œ๋งจํ‹ฑ/๋ณ„์นญ ํ† ํฐ (Semantic / Alias Tokens):** ์ „์—ญ ํ† ํฐ์„ ์ฐธ์กฐํ•˜์—ฌ ํŠน์ •ํ•œ ์‚ฌ์šฉ ๋ชฉ์ ์ด๋‚˜ ๋งฅ๋ฝ์„ ๋ถ€์—ฌํ•œ ํ† ํฐ์ž…๋‹ˆ๋‹ค (์˜ˆ: `--color-primary: var(--blue-500)`) [6-8]. ๋ธŒ๋žœ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๋‹คํฌ ๋ชจ๋“œ ๊ฐ™์€ ํ…Œ๋งˆ๋ฅผ ์ ์šฉํ•  ๋•Œ ์ด ํ† ํฐ๋งŒ ๊ต์ฒดํ•˜๋ฉด ์ „์ฒด ์‹œ์Šคํ…œ์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค [4, 9]. * **3๋‹จ๊ณ„ - ์ปดํฌ๋„ŒํŠธ ํ† ํฐ (Component-specific Tokens):** ๋ฒ„ํŠผ์˜ ๋ฐฐ๊ฒฝ์ƒ‰, ํŒจ๋”ฉ ๋“ฑ ํŠน์ • UI ์ปดํฌ๋„ŒํŠธ์— ํ•œ์ •๋˜์–ด ์„ธ๋ถ€์ ์ธ ์กฐ์ •์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ํ† ํฐ์ž…๋‹ˆ๋‹ค [6, 7, 10]. * **ํ† ํฐ์˜ ์นดํ…Œ๊ณ ๋ฆฌ ๋ฐ ๋ช…๋ช… ๊ทœ์น™** * ํ† ํฐ์€ ์—ญํ• ์— ๋”ฐ๋ผ ์ƒ‰์ƒ(Color), ๊ฐ„๊ฒฉ(Spacing), ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ(Typography), ํฌ๊ธฐ(Sizing), ํ…Œ๋‘๋ฆฌ(Border), ๊ทธ๋ฆผ์ž(Shadow), ๋ชจ์…˜(Motion), Z-index ๋“ฑ์œผ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค [11]. * ๋ช…๋ช… ์‹œ์—๋Š” ํ”Œ๋žซํผ์— ์ข…์†๋˜์ง€ ์•Š์€ ์˜๋ฏธ๋ก ์ (Semantic) ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณ , ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋ฒ”์ฃผํ˜• ๊ตฌ์กฐ(Category-Based Naming)๋ฅผ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [12]. * **์ž๋™ํ™” ๋ฐ ๊ตฌํ˜„ ์›Œํฌํ”Œ๋กœ์šฐ (Implementation & Workflow)** * **๋ฉ€ํ‹ฐ ํ”Œ๋žซํผ ๋ณ€ํ™˜ ํŒŒ์ดํ”„๋ผ์ธ:** ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” [[Figma|Figma]]์™€ ๊ฐ™์€ ๋””์ž์ธ ํˆด์—์„œ ํ† ํฐ์„ ์ •์˜ํ•˜์—ฌ JSON ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ธ ํ›„, [[Style Dictionary|Style Dictionary]] ๋‚˜ Theo ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ ํ”Œ๋žซํผ์— ๋งž๋Š” ์ฝ”๋“œ(์›น์šฉ CSS, Android์šฉ XML, iOS์šฉ Swift)๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค [4, 13, 14]. * **ํ”„๋ก ํŠธ์—”๋“œ ์—ฐ๋™:** ์›น ํ”„๋ก ํŠธ์—”๋“œ ํ™˜๊ฒฝ์—์„œ๋Š” ์ƒ์„ฑ๋œ ํ† ํฐ์„ CSS ๋ณ€์ˆ˜(Custom Properties), [[SCSS|SCSS]] ๋ณ€์ˆ˜ ๋˜๋Š” [[Tailwind CSS|Tailwind CSS]]์˜ ์„ค์ • ํŒŒ์ผ(tailwind.config.js)๊ณผ ํ†ตํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [13, 15]. * ์ด๋Ÿฌํ•œ ์ž๋™ํ™”๋œ ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์ˆ˜๋™ ์˜ค๋ฅ˜๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ ์ƒํƒœ๊ณ„ ์ „๋ฐ˜์— ๊ฑธ์ณ ์ผ๊ด€๋œ UI๋ฅผ ์œ ์ง€๋ณด์ˆ˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [4]. ## โš–๏ธ Trade-offs & Caveats - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Design & Experience ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** `[[CSS Variables|CSS Variables]]`, `Tailwind CSS v4`, `Style Dictionary`, `[[Dynamic Theming|Dynamic Theming]]` - **Projects/Contexts:** `[[Figma Tokens Studio|Figma Tokens Studio]]`, `React Component Architecture`, `[[Uber Base Web Design System|Uber Base Web Design System]]` - **Contradictions/Notes:** ์†Œ์Šค์˜ ๊ถŒ์žฅ ์‚ฌํ•ญ์— ๋”ฐ๋ฅด๋ฉด, ๊ฐœ๋ฐœ ์‹œ ์ปดํฌ๋„ŒํŠธ์— ์›์‹œ ํ† ํฐ(Primitive Tokens)์ด๋‚˜ ์ž„์˜์˜ ๊ฐ’์„ ์ง์ ‘ ํ•˜๋“œ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ์€ ์‹œ์Šคํ…œ์˜ ํ™•์žฅ์„ฑ์„ ํŒŒ๊ดดํ•˜๋Š” ์ฃผ๋œ ์›์ธ์ด ๋ฉ๋‹ˆ๋‹ค [34, 35]. ๋”ฐ๋ผ์„œ ์Šคํƒ€์ผ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์œ ์—ฐํ•œ ํ…Œ๋งˆ๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์‹œ๋งจํ‹ฑ ํ† ํฐ(Semantic Tokens)์„ ๊ฑฐ์ณ ์ปดํฌ๋„ŒํŠธ์— ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10, 34, 36]. --- *Last updated: 2026-04-26* --- - Raw Source: 00_Raw/2026-04-20/Design-Tokens.md --- --- - **Related Topics:** [[แ„ƒแ…ตแ„Œแ…กแ„‹แ…ตแ†ซ แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท (Design Systems)|๋””์ž์ธ ์‹œ์Šคํ…œ (DesignSystems]], CSS ๋ณ€์ˆ˜ (CSS Variables), [[Style Dictionary|Style Dictionary]] - **Projects/Contexts:** ๋‹ค์ค‘ ํ”Œ๋žซํผ ํ™•์žฅ ๋ฐ ํ…Œ๋งˆ ๊ตฌํ˜„ (Multi-Platform Scaling & Theming), ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์ถ• (Scalable [[Frontend|Frontend]] [[Architecture|Architecture]]) - **Contradictions/Notes:** ๋งŽ์€ ๊ฐœ๋ฐœ์ž์™€ ๋””์ž์ด๋„ˆ๊ฐ€ ํ† ํฐ ์ž๋™ํ™” ๋„๊ตฌ์˜ ์ด์ ์„ ๋ˆ„๋ฆฌ๊ณ  ์žˆ์œผ๋‚˜, [[Figma|Figma]]์™€ ๊ฐ™์€ ๋””์ž์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด์—์„œ ๋””์ž์ธ ํ† ํฐ ๊ด€๋ฆฌ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ํƒ€์‚ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ(์˜ˆ: Figma Tokens, Toolabs)์— ์˜์กดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์Šคํƒ€์ผ ๋™๊ธฐํ™” ๋ฒ„๊ทธ ๋“ฑ ์ผ๋ถ€ ๋„๊ตฌ์  ํ•œ๊ณ„์™€ ํ™˜๊ฒฝ ์„ค์ •์˜ ๋ณต์žก์„ฑ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [17-19]. --- *Last updated: 2026-04-26* --- - **Related Topics:** [[แ„ƒแ…ตแ„Œแ…กแ„‹แ…ตแ†ซ แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท (Design Systems)|๋””์ž์ธ ์‹œ์Šคํ…œ(DesignSystems]], CSS ๋ณ€์ˆ˜(CSS Custom Properties), SCSS, [[Tailwind CSS|Tailwind CSS]] - **Projects/Contexts:** ๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋‹ค์ค‘ ํ”Œ๋žซํผ(์›น, ๋ชจ๋ฐ”์ผ ์•ฑ ๋“ฑ) ์ œํ’ˆ๊ตฐ์—์„œ ์‹œ๊ฐ์  ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ํ™•์žฅ์„ฑ ์žˆ๋Š” ํ…Œ๋งˆ(Theming) ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ์›Œํฌํ”Œ๋กœ์šฐ ๋งฅ๋ฝ [4, 5]. - **Contradictions/Notes:** ์ˆ˜๋™ ์ž‘์—…์˜ ํ•œ๊ณ„๋ฅผ ๋„˜๊ธฐ ์œ„ํ•ด Figma Tokens(Tokens Studio) ๊ฐ™์€ ๋ฐ˜์ž๋™ํ™” ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์ด ๋“ฑ์žฅํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์•„์ง ๋””์ž์ธ ์•ฑ๊ณผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์™„๋ฒฝํžˆ ๋™๊ธฐํ™”ํ•˜๋Š” ๋‹จ์ผ ์†”๋ฃจ์…˜์€ ๋ถ€์กฑํ•˜์—ฌ ํ™˜๊ฒฝ์— ๋งž๋Š” ์ ์ ˆํ•œ ๋ณ€ํ™˜ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•(Style Dictionary ๋“ฑ)์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [16-18]. --- *Last updated: 2026-04-26*