일급 컬렉션은 객체지향 프로그래밍에서 중요한 개념이다.
자바에서 collection을 사용할 때, collection을 감싸는 클래스를 만들고, 그 클래스에서 collection과 관련된 로직을 관리하는 패턴이다.
Order의 List자료구조를 감싼 Orders가 일급 컬렉션의 예시이다.
여기서 collection이란 프로그래밍에서 데이터 요소들의 그룹을 관리하고 처리하기 위한 객체이다.
Java Collection 프레임워크의 주요 인터페이스들로는,
List
Set
Queue
Map 이 있다.
collection을 래핑(wrapping)하면서, 그 외 다른 멤버 변수가 없는 상태임을 알 수 있다.
이처럼 일급 컬렉션을 사용하는 장점은 캡슐화를 통한 로직을 한 곳에서 관리할 수 있다는 것이다.
그리고 불변성을 보장한다.
collection을 final로 선언하고 캡슐화를 통해 데이터의 불변성을 보장할 수 있다.
외부에서도 컬렉션을 직접 수정할 수 없게 된다.
이런 일급 컬렉션 패턴은 DDD에서 많이 활용되고, 코드의 품질을 높이고 유지 보수성을 향상하는데 도움이 된다.
컬렉션을 단순한 자료구조로만 사용하는 것이 아니라 객체로 승격시킴으로써 코드를 더 견고하게 객체지향 설계를 할 수 있게 된다.
'기술면접' 카테고리의 다른 글
트랜잭션 격리수준이 무엇인가요? (2) | 2024.12.07 |
---|---|
데이터베이스 인덱스란 무엇인가 (0) | 2024.12.05 |
Checked Exception과 Unchecked Exception (0) | 2024.12.04 |
JPA의 N + 1 문제 (0) | 2024.12.02 |
로그와 메트릭이 무엇인가 (1) | 2024.11.30 |