본문으로 건너뛰기

© 2026 Molayo

Smashing헤드라인2026. 05. 25. 06:42

Combobox vs. Multiselect vs. Listbox: 올바른 컴포넌트 선택 방법

요약

Combobox, Multiselect, Listbox 등 유사한 UI 컴포넌트들의 기능적 차이점과 올바른 선택 기준을 설명합니다. 옵션의 개수와 가시성을 고려하여 사용자 경험을 최적화하는 방법을 제안합니다.

핵심 포인트

  • Combobox는 타이핑 필터링과 단일 선택에 적합함
  • Multiselect는 타이핑 필터링과 다중 선택을 지원함
  • Listbox는 모든 옵션을 즉시 보여줄 때 유용함
  • 자주 사용하는 옵션은 숨기지 말고 노출하는 것이 원칙임

그렇다면 combobox, multiselect, listbox, 그리고 dropdown의 차이점은 무엇일까요? 이 모든 UI 컴포넌트들이 비슷해 보일 수 있지만, 각각 서로 다른 목적을 수행합니다. 선택의 기준은 종종 사용 가능한 옵션의 수와 그 가시성(visibility)에 달려 있습니다.

이들이 어떻게 다른지, 어떤 목적을 수행하는지, 그리고 오해와 잘못된 기대를 피하면서 어떻게 올바른 것을 선택할 수 있는지 알아보겠습니다.

모든 리스트 패턴이 동일한 것은 아닙니다

위에서 강조된 모든 UI 컴포넌트에는 한 가지 공통점이 있습니다. 바로 사용자가 리스트와 상호작용(interaction)할 수 있도록 지원한다는 점입니다. 하지만 그 방식은 조금씩 다릅니다.

각각을 하나씩 살펴보겠습니다:

  • Dropdown (드롭다운) → 트리거(trigger)되기 전까지 리스트가 숨겨져 있음.
  • Combobox (콤보박스) → 타이핑을 통한 필터링(filter) + 1개의 옵션 선택.
  • Multiselect (멀티셀렉트) → 타이핑을 통한 필터링(filter) + 여러 옵션 선택.
  • Listbox (리스트박스) → 기본적으로 모든 리스트 옵션이 보임 (+ 스크롤).
  • Dual listbox (듀얼 리스트박스) → 2개의 리스트박스 사이에서 항목을 이동함.

다시 말해, _Combobox_는 텍스트 입력 필드(text input field)와 드롭다운 리스트를 결합하여, 사용자가 타이핑하여 필터링하고 단일 옵션을 선택할 수 있게 합니다. _Multiselect_의 경우, 사용자가 여러 옵션을 선택할 수 있습니다 (종종 pill이나 chip 형태로 표시됨).

_Listboxes_는 기본적으로 모든 리스트 옵션이 보이도록 표시되며, 종종 스크롤이 포함됩니다. 사용자가 사용 가능한 모든 선택지를 즉시 확인해야 할 때 유용합니다. Dual listbox (또는 _transfer list_라고도 함)는 리스트박스의 변형으로, 사용자가 두 리스트박스 사이에서 항목을 이동(왼쪽 ↔ 오른쪽)할 수 있게 하며, 주로 대량 선택(bulk selection)을 위해 사용됩니다.

자주 사용하는 옵션을 절대 숨기지 마세요

위에서 언급했듯이, 올바른 UI 컴포넌트의 선택은 두 가지 요소에 달려 있습니다. 즉, 사용 가능한 리스트 옵션이 얼마나 많은지, 그리고 이 모든 옵션이 기본적으로 보여야 하는지 여부입니다. 모든 리스트는 트리 구조(tree structures), 중첩(nesting), 그리고 그룹 선택(group selection) 기능을 가질 수도 있습니다.

제가 수년 동안 모든 UI 컴포넌트에 대해 지켜온 원칙이 하나 있습니다. 바로 자주 사용하는 옵션을 절대 숨기지 마라는 것입니다. 사용자가 특정 선택지를 빈번하게 사용한다면, 그것을 사용자로부터 숨기는 것은 가치가 거의 없습니다.

우리는 해당 옵션을 사전 선택(pre-selected) 상태로 만들거나, (자주 사용하는 옵션이 2~3개뿐이라면) 칩(chips) 또는 버튼(buttons) 형태로 보여준 뒤, 상호작용(interaction) 시 나머지 목록을 보여줄 수도 있습니다. 일반적으로 UI가 다소 복잡해지더라도 인기 있는 옵션은 항상 표시하는 것이 좋은 방법입니다.

어떤 것을 선택해야 할까요?

모든 목록에 복잡한 선택 방식이 필요한 것은 아닙니다. 항목이 5개 미만인 목록의 경우, 단순한 라디오 버튼(radio buttons)이나 체크박스(checkboxes)가 대개 가장 효과적입니다. 하지만 사용자가 방대한 목록(예: 200개 이상의 항목)에서 선택해야 하는 경우(예: 국가 선택), 더 빠른 필터링(filtering)이 가능한 콤보박스(combobox) + 멀티셀렉트(multiselect) 조합이 유용합니다.

**리스트박스(Listboxes)**는 사람들이 많은 옵션에 동시에 접근해야 할 때, 특히 해당 목록에서 많은 옵션을 선택해야 할 때 유용합니다. 자주 사용하는 필터(filters) 용도로 도움이 될 수 있습니다.

**듀얼 리스트박스(Dual listbox)**는 종종 간과되거나 무시되곤 합니다. 하지만 대량 선택(bulk selection), 또는 역할(roles), 작업(tasks), 책임(responsibilities)을 할당하는 것과 같은 복잡한 작업에는 매우 유용할 수 있습니다. 이는 사용자가 최종 확정(committing)하기 전에 원본 목록과 함께 전체 선택 목록을 나란히 검토할 수 있게 해주는 유일한 UI 컴포넌트입니다(또한 _“Transfer list”_라고도 불립니다).

사실, 듀얼 리스트박스는 드래그 앤 드롭(drag-and-drop)보다 더 빠르고, 정확하며, 접근성(accessibility)이 높습니다.

사용성 고려 사항

명심해야 할 중요한 점은 모든 목록 유형이 접근성을 위해 키보드 네비게이션(keyboard navigation)(예: ↑/↓ 화살표 키)을 지원해야 한다는 것입니다. 어떤 사람들은 타이핑을 시작하면 옵션을 선택하기 위해 거의 항상 키보드에 의존할 것입니다.

그 외에도:

  • 7개 이상의 옵션이 있는 리스트의 경우, 사용자 상호작용 (User Interaction)을 간소화하기 위해 "모두 선택 (Select All)" 및 "모두 해제 (Clear All)" 기능을 추가하는 것을 고려하십시오.
  • Combobox (콤보박스)가 포함된 긴 리스트의 경우, 클릭/탭 시 모든 옵션을 사용자에게 노출하십시오. 그렇지 않으면 옵션들이 전혀 보이지 않을 수 있습니다.
  • 가장 중요한 것은, 혼란을 피하기 위해 상호작용이 불가능한 요소를 버튼으로 표시하지 마십시오. 또한 상호작용이 가능한 요소를 정적 레이블 (Static Label)로 표시해서도 안 됩니다.

마치며: 모든 것이 드롭다운(Dropdown)은 아닙니다

이름은 중요합니다. **옵션의 수직 리스트 (Vertical list of options)**는 일반적으로 "드롭다운 (Dropdown)"이라고 설명되지만, 종종 의미를 갖기에는 너무 일반적입니다. _"드롭다운 (Dropdown)"_은 리스트가 기본적으로 숨겨져 있음을 암시합니다. _"멀티셀렉트 (Multiselect)"_는 리스트 내의 다중 선택 (Checkbox)을 의미합니다. _"콤보박스 (Combobox)"_는 텍스트 입력 (Text input)을 의미합니다. 그리고 "리스트박스 (Listbox)"는 단순히 항상 보이는, 선택 가능한 항목들의 리스트입니다.

목표는 단순히 위의 정의와 일관성을 유지하는 것이 아닙니다. 그보다는 의도를 일치시키는 것 (Align intentions), 즉 이러한 UI 컴포넌트를 결정하고, 설계하고, 구축하고, 사용하는 과정에서 동일한 언어를 사용하는 것입니다.

정적 레이블이 상호작용 가능한 버튼처럼 보이지 않고, 라디오 버튼 (Radio button)이 체크박스 (Checkbox)처럼 작동하지 않는 한, 디자이너, 엔지니어, 그리고 최종 사용자 모두에게 적합하게 작동해야 합니다.

"AI 인터페이스를 위한 디자인 패턴"을 만나보세요

실제 제품의 실용적인 예시가 담긴 Vitaly의 새로운 **비디오 코스 (Video course)**인 Design Patterns For AI Interfaces를 만나보세요 — 곧 라이브 UX 트레이닝 (Live UX training)이 진행될 예정입니다. 무료 미리보기로 이동하기.

인터페이스 디자인 및 UX에 관한 Vitaly의 비디오 코스인 Design Patterns For AI Interfaces를 만나보세요.

비디오 + UX 트레이닝

$ 450.00 $ 799.00 [비디오 + UX 트레이닝 받기

](https://smart-interface-design-patterns.thinkific.com/enroll/3476562?price_id=4401578)

30개의 비디오 강의 (10시간) + 라이브 UX 트레이닝 (Live UX Training).
100일 환불 보장.

비디오 전용

$ 275.00 $ 395.00

[비디오 코스 구매하기

](https://smart-interface-design-patterns.thinkific.com/enroll/3476562?price_id=4397456)

30개의 비디오 강의 (10시간). 매년 업데이트됩니다.
3개의 비디오 코스가 포함된 UX 번들 (UX Bundle)로도 이용 가능합니다.

유용한 리소스

List Box, Vaadin 제공
Listbox, Visa 제공
Dual List Selector, Red Hat (PatternFly) 제공
Dual Listbox, Salesforce (Lightning Design System) 제공
Transfer List, Mantine 제공
Dual Listbox, Dashlite 제공
Badges vs. Pills vs. Chips vs. Tags, Vitaly Friedman 제공
Listboxes vs. Dropdown Lists, Anna Kaley (NN/g) 제공

AI 자동 생성 콘텐츠

본 콘텐츠는 Smashing Magazine의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0