정의를 외운 사람인지, 어떤 규칙을 캡슐화할 때 효과적이고 언제는 오버엔지니어링이 되는지 트레이드오프로 말할 수 있는 사람인지를 가른다.
일급 컬렉션은 List나 Set 같은 컬렉션을 _전용 타입_으로 감싸고, 그 컬렉션에 대한 규칙(중복 금지, 정렬 정책, 최대 개수, 상태 전이 조건)을 그 타입 내부에 모으는 설계 방식이다. 이렇게 하면 서비스 곳곳에서 임의로 컬렉션을 조작하지 못해 _도메인 불변식_이 지켜지고, 의미 있는 이름으로 의도가 드러난다. 단 단순 전달용 컬렉션까지 과도하게 감싸면 코드량과 추상화 비용만 늘어, _규칙 복잡도와 재사용 범위_를 기준으로 도입 여부를 정해야 한다.
흩어져 있던 합계 계산/중복 검증을 일급 컬렉션으로 모아 회귀 사고를 막아본 적이 있다면 그 케이스가 그대로 답변 후크가 된다
내부 컬렉션을 외부로 노출하지 않도록 unmodifiable 래퍼/방어적 복사를 적용한 경험이 있다면 캡슐화 이야기로 이어진다
도입 기준(규칙 복잡도)을 팀에 정해 _전부 감싸지 않기로 한_ 경험이 있다면 균형 잡힌 답을 보여줄 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.