Atomic Design은 엄격한 규칙이 아닌 멘탈 모델이며, 프로젝트 특성에 맞게 하이브리드로 변형해서 쓰는 것이 Best Practice다.

Brad Frost가 화학 개념을 UI 설계에 적용한 5단계 계층 구조
| 계층 | 설명 | 예시 |
|---|---|---|
| Atoms | 더 이상 쪼갤 수 없는 최소 단위 | Button, Input, Icon |
| Molecules | Atoms 조합으로 하나의 기능 수행 | SearchBar |
| Organisms | Molecules + Atoms 조합, 의미 있는 영역 | Header, Footer |
| Templates | 데이터 없는 최종 레이아웃 뼈대 | HomeTemplate |
| Pages | 실제 데이터가 결합된 최종 화면 | HomePage |
핵심: 선형 프로세스가 아니라, UI를 "전체이자 부분의 모음"으로 바라보게 해주는 사고 도구
"어디에 넣을지 고민하게 만드는 구조는 좋은 구조가 아니다"
/components
ㄴ /공통 ← 뷰 컴포넌트 (다른 프로젝트에서도 재사용 가능)
ㄴ /atoms
ㄴ /molecules
ㄴ /organisms
ㄴ /일정관리 ← 비즈니스 컴포넌트 (이 프로젝트 전용)
ㄴ /molecules
ㄴ /organisms
ㄴ /templates
| 구분 | 특징 | 예시 |
|---|---|---|
| 뷰 컴포넌트 | Props 기반, 외부 의존 없음, 재사용 가능 | Input, Checkbox, Modal |
| 비즈니스 컴포넌트 | 상태관리와 결합, 프로젝트 전용 | 일정 상세 팝업 |
Atoms → 외부 import 없음
Molecules → 다른 컴포넌트를 import함 (예: SelectBox = Input + Dropdown)
Organisms → 독립적으로 동작하는 단위 (예: Modal Popup)
"분류 기준을 많이 만들어 두고, 좋은 이름을 붙이고, 명확한 규칙을 만드는 것" — 좋은 폴더 구조의 조건