"매 component 의 size, scope, composition 의 systematic decomposition". 매 atomic design (atom→molecule→organism), feature-based (colocation), compound component, headless UI 의 4-axis. 매 2026 의 default — feature-folder + headless primitives (Radix/Ark) + Server Components.
// Container — data + logic
functionUserListContainer() {const{data}=useUsers();return<UserListViewusers={data}/>;}// Presentational — pure UI
functionUserListView({users}:{users: User[]}){return<ul>{users.map(u=><likey={u.id}>{u.name}</li>)}</ul>;}
8. Public API barrel (index.ts)
// features/checkout/index.ts
export{CheckoutForm}from'./components/CheckoutForm';export{useCheckout}from'./hooks/useCheckout';exporttype{Order}from'./schemas/order';// 매 internal 은 export X — encapsulation.
매 결정 기준
상황
Approach
Design system
Atomic + headless (Radix/Ark)
Product feature
Feature folder + co-location
Multi-trigger UI (Tabs, Menu)
Compound component
Style flexibility
Headless + custom CSS
Next.js 15 app
Server-default, Client only when needed
Reusable variant via tag
Polymorphic as
기본값: 매 feature folder + 매 headless primitives (Radix/Ark) + 매 Server Components default.