# [[Atomic Design|Atomic Design]] ## ๐Ÿ“Œ Brief Summary Atomic Design(์•„ํ† ๋ฏน ๋””์ž์ธ)์€ ๋ธŒ๋ž˜๋“œ ํ”„๋กœ์ŠคํŠธ(Brad Frost)๊ฐ€ ๊ณ ์•ˆํ•œ ๋””์ž์ธ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI)๋ฅผ ์‘์ง‘๋ ฅ ์žˆ๋Š” ์ „์ฒด์ด์ž ๋ถ€๋ถ„์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋™์‹œ์— ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฉ˜ํƒˆ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค [1-3]. ์ด ๋ฐฉ๋ฒ•๋ก ์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์›์ž(Atoms), ๋ถ„์ž(Molecules), ์œ ๊ธฐ์ฒด(Organisms), ํ…œํ”Œ๋ฆฟ(Templates), ํŽ˜์ด์ง€(Pages)๋ผ๋Š” 5๊ฐœ์˜ ๊ณ„์ธต์  ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ํšจ๊ณผ์ ์ด๊ณ  ์˜๋„์ ์ธ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋„๋ก ๋•์Šต๋‹ˆ๋‹ค [4, 5]. React์™€ ๊ฐ™์€ ๋ชจ๋˜ ์ปดํฌ๋„ŒํŠธ ์•„ํ‚คํ…์ฒ˜์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์ผ๊ด€์„ฑ์„ ๊ฐ•์ œํ•˜๊ณ , ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋ฉฐ, ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํด๋” ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๋„๋ฆฌ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค [6-8]. ## ๐Ÿ“– Core Content * **5๋‹จ๊ณ„์˜ ์ปดํฌ๋„ŒํŠธ ๊ณ„์ธต ๊ตฌ์กฐ**: * **์›์ž (Atoms)**: ๋” ์ด์ƒ ์ชผ๊ฐค ์ˆ˜ ์—†๋Š” UI์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค [1, 5]. HTML ํƒœ๊ทธ(์˜ˆ: input, label, button)๋‚˜ React์˜ ๊ธฐ๋ณธ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์— ํ•ด๋‹นํ•˜๋ฉฐ, ๊ฐ๊ธฐ ๊ณ ์œ ํ•œ ์†์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค [9, 10]. * **๋ถ„์ž (Molecules)**: ์›์ž๋“ค์˜ ๊ฒฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋น„๊ต์  ๋‹จ์ˆœํ•œ UI ์ปดํฌ๋„ŒํŠธ ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค(์˜ˆ: ๋ผ๋ฒจ + ์ž…๋ ฅ์ฐฝ + ๋ฒ„ํŠผ = ๊ฒ€์ƒ‰ ํผ) [5, 10, 11]. ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(Single Responsibility Principle)์„ ์žฅ๋ คํ•˜์—ฌ "ํ•œ ๊ฐ€์ง€ ์ผ์„ ์ž˜ ์ˆ˜ํ–‰ํ•˜๋„๋ก" ํ•จ์œผ๋กœ์จ ํ…Œ์ŠคํŠธ์™€ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [12]. * **์œ ๊ธฐ์ฒด (Organisms)**: ๋ถ„์ž, ์›์ž, ํ˜น์€ ๋‹ค๋ฅธ ์œ ๊ธฐ์ฒด๋“ค๋กœ ๊ตฌ์„ฑ๋œ ๋ณต์žกํ•œ ์ปดํฌ๋„ŒํŠธ๋กœ, ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋šœ๋ ทํ•œ ๋…๋ฆฝ์  ์„น์…˜์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ์›น์‚ฌ์ดํŠธ ํ—ค๋”, ์ œํ’ˆ ๊ทธ๋ฆฌ๋“œ) [5, 10, 13, 14]. * **ํ…œํ”Œ๋ฆฟ (Templates)**: ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋ ˆ์ด์•„์›ƒ์— ๋ฐฐ์น˜ํ•˜๊ณ  ๋””์ž์ธ์˜ ๊ทผ๋ณธ์ ์ธ ์ฝ˜ํ…์ธ  ๊ตฌ์กฐ(๋ผˆ๋Œ€)๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๋Š” ํŽ˜์ด์ง€ ๋ ˆ๋ฒจ์˜ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค [5, 10, 15, 16]. ์ตœ์ข… ์ฝ˜ํ…์ธ ๋ณด๋‹ค๋Š” ๊ธฐ๋ณธ ๊ณจ๊ฒฉ์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค [16]. * **ํŽ˜์ด์ง€ (Pages)**: ํ…œํ”Œ๋ฆฟ์— ์‹ค์ œ ๋Œ€ํ‘œ ์ฝ˜ํ…์ธ ๋ฅผ ์ฃผ์ž…ํ•œ ๊ตฌ์ฒด์  ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค. ์ตœ์ข… UI๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ๊ธฐ์ดˆ ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ํšจ๊ณผ์™€ ๋ณต์›๋ ฅ์„ ํ…Œ์ŠคํŠธํ•˜๋ฉฐ ์ฝ˜ํ…์ธ ์˜ ๋™์  ๋ณ€ํ˜•(์˜ˆ: ๋ฐ์ดํ„ฐ ๊ธธ์ด์— ๋”ฐ๋ฅธ ๋ณ€ํ™”)์„ ๋ช…ํ™•ํžˆ ํ•ฉ๋‹ˆ๋‹ค [5, 10, 17-19]. * **Atomic Design์˜ ํ•ต์‹ฌ ์ด์  ๋ฐ ํŠน์ง•**: * **๋งฅ๋ฝ์˜ ์ „ํ™˜**: ์ถ”์ƒ์ ์ธ ์š”์†Œ(์›์ž)๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋™์‹œ์— ๊ทธ๊ฒƒ๋“ค์ด ๋ชจ์—ฌ ๊ตฌ์ฒด์ ์ธ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ(ํŽ˜์ด์ง€)์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค [20, 21]. * **๊ตฌ์กฐ์™€ ์ฝ˜ํ…์ธ ์˜ ๋ถ„๋ฆฌ**: UI์˜ ์ฝ˜ํ…์ธ  ๊ตฌ์กฐ ์Šค์ผˆ๋ ˆํ†ค(ํ…œํ”Œ๋ฆฟ)๊ณผ ์ตœ์ข… ์ฝ˜ํ…์ธ (ํŽ˜์ด์ง€) ์‚ฌ์ด์˜ ๊น”๋”ํ•œ ๋ถ„๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋ฉด์„œ๋„ ๋‘˜์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ณ ๋ คํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [22, 23]. * **๋ณดํŽธ์  ์ ์šฉ์„ฑ**: ์›น ์ „์šฉ ๊ธฐ์ˆ (CSS, [[JavaScript|JavaScript]] ๊ตฌ์กฐ ๋“ฑ)์— ๊ตญํ•œ๋˜์ง€ ์•Š์œผ๋ฉฐ, Instagram๊ณผ ๊ฐ™์€ ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ํฌํ•จํ•œ ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [24-26]. * **๋น„์„ ํ˜•์  ์ ‘๊ทผ**: ๋‹จ์ˆœํžˆ 1๋‹จ๊ณ„์—์„œ 5๋‹จ๊ณ„๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ์„ ํ˜• ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ, ์ „์ฒด์™€ ๋ถ€๋ถ„์„ ๋™์‹œ์— ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ˜ํƒˆ ๋ชจ๋ธ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [1, 2]. * **React ํ™•์žฅ์„ฑ ๋ฐ ์•„ํ‚คํ…์ฒ˜์—์„œ์˜ ํ™œ์šฉ**: * React์˜ ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ์™€ ์™„๋ฒฝํ•˜๊ฒŒ ๋Œ€์นญ์„ ์ด๋ฃจ์–ด ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ทผ๋ณธ์ ์ธ ๋ชจ๋ธ์ด ๋ฉ๋‹ˆ๋‹ค [6]. * ์„ฑ๊ณต์ ์ธ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํŒ€๋“ค์€ ์›์ž ๋‹จ์œ„์˜ ์ˆœ์ˆ˜ํ•จ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ณ„์ธต์—๋Š” Atomic Design์„ ํ™œ์šฉํ•˜๊ณ , ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ๋“ค์–ด๊ฐ€๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์—๋Š” ๊ธฐ๋Šฅ ๋ถ„ํ•  ์„ค๊ณ„([[Feature-Sliced Design|Feature-Sliced Design]], FSD) ๋“ฑ ๊ธฐ๋Šฅ ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋ฅผ ํ˜ผํ•ฉํ•˜์—ฌ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค [10, 27]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Component-Based Design|Component-Based Design]], Feature-Sliced Design (FSD), Compound Components, [[Design Systems|DesignSystems]] - **Projects/Contexts:** [[React Frontend Architecture|React Frontend Architecture]], [[Reusable UI Component Libraries|Reusable UI Component Libraries]] - **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด Atomic Design์€ ์‹œ๊ฐ์  ์ผ๊ด€์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ, ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ฐ€์ง„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด 5๊ฐ€์ง€์˜ ์—„๊ฒฉํ•œ ๋ฒ”์ฃผ์— ์–ต์ง€๋กœ ๋ผ์›Œ ๋งž์ถ”๋ ค๋‹ค ๋ณด๋ฉด ์–ด๋ ค์›€์— ์ง๋ฉดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํ•œ๊ณ„๋„ ์ง€์ ๋ฉ๋‹ˆ๋‹ค [10]. ์ด์— ๋Œ€ํ•œ ๋ณด์™„์ฑ…์œผ๋กœ [[Headless UI|Headless UI]]๋‚˜ [[Compound Components|Compound Components]] ํŒจํ„ด์ด ํ˜„๋Œ€ ํ”„๋ก ํŠธ์—”๋“œ ํ™˜๊ฒฝ์—์„œ ํ•จ๊ป˜ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [28, 29]. --- *Last updated: 2026-04-26*