# [[디자인 시스템 개념]]

## 📌 Brief Summary
디자인 시스템은 명확한 표준에 따라 애플리케이션을 구축할 수 있도록 돕는 재사용 가능한 컴포넌트들의 모음입니다 [1]. 이는 브랜드의 시각적 정체성을 프로그래밍적으로 구현한 것으로, 제품과 플랫폼 전반에서 일관성을 보장하고 디자인 및 개발 워크플로우의 속도를 높입니다 [1, 2]. 디자인 시스템의 가장 핵심적이고 기초적인 구성 요소는 색상이나 타이포그래피 등의 시각적 디자인 속성을 저장하는 디자인 토큰(Design Tokens)입니다 [1, 2].

## 📖 Core Content
- **디자인 시스템의 역할 및 이점:** 디자인 시스템은 대규모 프론트엔드 프로젝트에서 일관성을 유지하고 디자이너와 엔지니어 간의 공통 언어를 생성하여 커뮤니케이션 오류를 줄이는 역할을 합니다 [1, 3]. 이를 통해 제품 업데이트나 리브랜딩이 쉬워지며, 팀 간의 디자인 확장성과 전반적인 유지보수성을 크게 향상할 수 있습니다 [1, 4].
- **디자인 토큰 (Design Tokens):** 디자인 시스템을 구동하는 시각적 '원자(atoms)'로, 간격, 타이포그래피, 색상, 애니메이션 등의 디자인 값에 고유한 식별자를 부여한 것입니다 [1, 3]. 디자인 토큰은 특정 플랫폼에 종속되지 않아(platform-agnostic), 동일한 토큰에서 CSS 변수, iOS Swift 코드, Android XML 등을 각각 생성해낼 수 있습니다 [5, 6].
- **토큰의 계층 구조 (Token Hierarchy):** 유연성과 시스템 일관성의 균형을 맞추기 위해 디자인 토큰은 일반적으로 3단계 계층으로 관리됩니다 [7-9].
  - **글로벌 토큰 (Global Tokens):** 사용 맥락이 지정되지 않은 원시 값입니다 (예: 특정 파란색 헥스 코드) [7-9].
  - **별칭 토큰 (Alias/Semantic Tokens):** 글로벌 토큰을 참조하며 특정한 의도나 목적을 부여한 토큰입니다 (예: 브랜드 주요 색상) [7-9].
  - **컴포넌트 특정 토큰 (Component-specific Tokens):** 버튼의 배경색이나 여백처럼 특정 UI 요소에 직접적으로 연결되고 범위가 지정된 토큰입니다 [7, 9, 10].
- **도구 적용 및 아키텍처 결합:** 대규모 멀티 플랫폼 프로젝트에서는 디자인 토큰을 JSON과 같은 형식으로 저장한 뒤, Style Dictionary와 같은 자동화 도구를 사용해 플랫폼별 코드로 변환합니다 [6, 11]. 이와 같은 '단일 진실 공급원(Single Source of Truth)' 접근 방식은 수동 오류를 제거합니다 [6]. 또한, 구축된 디자인 시스템은 Tailwind CSS의 구성 파일(config)이나 SCSS, BEM 방식 등과 결합되어 프론트엔드 스타일링의 엄격성과 일관성을 유지하는 기반으로 작동합니다 [12-14].

## 🔗 Knowledge Connections
- **Related Topics:** 디자인 토큰, CSS 아키텍처, [[BEM]], [[Tailwind CSS]], 재사용 가능한 컴포넌트
- **Projects/Contexts:** 여러 팀이 협업하거나 다중 플랫폼(웹, iOS, Android 등)을 지원해야 하는 대규모 프론트엔드 및 제품 디자인 에코시스템 확장 프로젝트 [6, 15, 16].
- **Contradictions/Notes:** 디자인 토큰을 내보내고 관리하기 위한 반자동화 도구(예: Figma Tokens)들이 발전하고 있지만, 버그나 세부 타이포그래피 토큰화 기능 부재 등 완벽한 솔루션은 아직 없으며 저장소 연동 시 여전히 일정 수준의 수동 구성이 요구된다는 점이 지적됩니다 [17-19].

---
*Last updated: 2026-04-26*