Files
2nd/10_Wiki/Topics_Dev/디자인 시스템(Design System).md
T

4.7 KiB

디자인 시스템 (Design System)

📌 Brief Summary

디자인 시스템은 재사용 가능한 컴포넌트와 명확한 표준으로 구성되어 애플리케이션을 구축하는 데 사용되는 브랜드의 시각적 정체성 집합체입니다 [1, 2]. 이는 단순한 컴포넌트 라이브러리를 넘어 디자인과 엔지니어링 간의 커뮤니케이션 프로토콜 역할을 수행합니다 [3]. 디자인 시스템의 가장 핵심적인 구성 요소는 '디자인 토큰(Design Tokens)'으로, 색상, 간격, 타이포그래피와 같은 시각적 디자인 원자들을 플랫폼에 종속되지 않는 변수 형태로 저장하여 여러 플랫폼에서 일관성과 확장성을 유지하도록 돕습니다 [1, 2].

📖 Core Content

  • 디자인 시스템의 목적과 역할 디자인 시스템은 여러 제품 및 플랫폼 전반에 걸쳐 일관성을 보장하고, 디자인과 개발 워크플로우의 속도를 높이며, 팀 간의 공통 언어를 생성합니다 [4]. 대규모 엔터프라이즈 환경에서 디자인 시스템은 디자인 결정(예: Figma에서의 색상 변경)이 웹, 모바일(iOS, Android) 등의 여러 플랫폼으로 자동 전파되게 하는 시스템적 사고의 결과물로, 단순히 예쁜 인터페이스가 아닌 진정으로 유지보수 가능한 소프트웨어 시스템을 구축하는 기준이 됩니다 [3, 5].

  • 디자인 시스템의 구성 요소: 디자인 토큰(Design Tokens) 디자인 토큰은 디자인 시스템에 동력을 제공하는 시각적 디자인의 원자(원시 값)입니다 [1]. 이는 플랫폼에 구애받지 않는(platform-agnostic) 특징을 가지며, 단일 진실 공급원(Single_Source_of_Truth)으로서 JSON 등의 형식으로 저장됩니다 [1, 6]. 이후 Style Dictionary와 같은 변환 도구를 통해 웹용 CSS 변수, Android용 XML, iOS용 Swift 코드 등으로 변환되어 배포됩니다 [6-8].

  • 디자인 토큰의 계층 구조 (Hierarchy) 확장성과 유연성을 위해 디자인 토큰은 일반적으로 3단계 계층으로 구성됩니다 [9, 10].

    1. 글로벌 토큰 (Global Tokens / Primitives): 컨텍스트가 없는 원시 값입니다. (예: --blue-500: #3b82f6) [9, 10]
    2. 가명/시맨틱 토큰 (Alias / Semantic Tokens): 글로벌 토큰을 참조하여 특정 맥락이나 의도를 부여합니다. (예: --color-primary: var(--blue-500)) [9, 10]
    3. 컴포넌트 토큰 (Component Tokens): 특정 UI 요소에만 국한된 토큰입니다. (예: --button-bg: var(--color-primary)) 이를 통해 다른 시각적 시스템에 영향을 주지 않고 개별 컴포넌트를 조정할 수 있습니다 [9, 10].
  • CSS 아키텍처 및 반응형 컴포넌트와의 결합 현대의 디자인 시스템은 반응형 동작(Responsive Behavior)을 페이지가 아닌 '컴포넌트의 속성'으로 취급합니다 [11]. 버튼, 모달, 데이터 테이블과 같은 컴포넌트가 컨텍스트를 인지하고 스스로 반응형으로 동작하도록 구축되면, 동일한 레이아웃 문제를 반복해서 해결할 필요가 없습니다 [11, 12]. 또한, BEM과 같은 CSS 구조화 방법론은 컴포넌트를 독립적이고 재사용 가능하게 만들어 디자인 시스템과 자연스럽게 결합되며 [13], Panda CSS와 같은 현대적 CSS-in-JS 도구들은 디자인 시스템과 테마(Theme)를 내장 지원하여 아키텍처의 유지보수성을 극대화합니다 [14, 15].

🔗 Knowledge Connections


Last updated: 2026-04-26