그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Architecture
Architecture

일급 컬렉션이 무엇인가요?

실무3/5
설계4/5
인간3/5
기초2/5

면접관의 질문 의도

정의를 외운 사람인지, 어떤 규칙을 캡슐화할 때 효과적이고 언제는 오버엔지니어링이 되는지 트레이드오프로 말할 수 있는 사람인지를 가른다.

큐레이션 답변

학습 자료

일급 컬렉션은 List나 Set 같은 컬렉션을 _전용 타입_으로 감싸고, 그 컬렉션에 대한 규칙(중복 금지, 정렬 정책, 최대 개수, 상태 전이 조건)을 그 타입 내부에 모으는 설계 방식이다. 이렇게 하면 서비스 곳곳에서 임의로 컬렉션을 조작하지 못해 _도메인 불변식_이 지켜지고, 의미 있는 이름으로 의도가 드러난다. 단 단순 전달용 컬렉션까지 과도하게 감싸면 코드량과 추상화 비용만 늘어, _규칙 복잡도와 재사용 범위_를 기준으로 도입 여부를 정해야 한다.

좋은 답변 구조

  1. 01일급 컬렉션을 "컬렉션을 감싼 전용 타입에 규칙을 모은 패턴"으로 정의한다
  2. 02불변식 캡슐화·도메인 의도 드러내기·수정 지점 단일화 같은 핵심 효과를 정리한다
  3. 03주문 항목·태그·점수처럼 규칙이 있는 컬렉션을 짧은 예시로 보여준다
  4. 04도입 기준(규칙 복잡도·재사용 범위)과 과도한 래핑의 비용으로 마무리한다

자주 실수하는 포인트

정의만 말하고 _어떤 규칙_을 캡슐화하는지 빠뜨린다
예시 없이 추상적으로만 설명한다
단순 전달용 컬렉션까지 일급 컬렉션으로 감싸 오버엔지니어링한다
내부 컬렉션을 그대로 노출(getList())해 캡슐화를 깬다

실무 맥락

  • 주문 항목 합계·중복 검증 같은 규칙이 컬렉션 조작 곳곳에 흩어져 있던 도메인
  • 태그·권한 집합처럼 _최대 개수_나 _중복 금지_ 같은 불변식이 명시적인 데이터
  • 팀 코드 리뷰에서 같은 컬렉션 조작 결함이 반복되는 프로젝트

본인 경험에 녹이는 힌트

흩어져 있던 합계 계산/중복 검증을 일급 컬렉션으로 모아 회귀 사고를 막아본 적이 있다면 그 케이스가 그대로 답변 후크가 된다

내부 컬렉션을 외부로 노출하지 않도록 unmodifiable 래퍼/방어적 복사를 적용한 경험이 있다면 캡슐화 이야기로 이어진다

도입 기준(규칙 복잡도)을 팀에 정해 _전부 감싸지 않기로 한_ 경험이 있다면 균형 잡힌 답을 보여줄 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1일급 컬렉션에서 불변 컬렉션을 쓰는 이유는 무엇인가요
Q2과도한 래핑으로 복잡해지는 경우는 어떻게 판단하나요
Q3서비스 계층 로직과 일급 컬렉션 책임은 어떻게 나누나요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문