Collection을 Wrapping하면서, Wrapping한 Collection 외 다른 멤버 변수가 없는 상태를 일급 컬렉션이라 한다.
public class Cars {
private List<Car> cars;
// ...
}
class IceCreams {
List<IceCream> iceCreams;
validate(){ … }
find(String name){ … }
}
일급 컬렉션을 사용하면 상태와 로직을 따로 관리할 수 있기 때문에 로직이 사용되는 클래스의 부담을 줄일 수 있고, 중복코드를 줄일 수 있다.
컬랙션과 관려된 메서드를 하나의 클래스에서 관리하는 것을 통해 코드가 분산되어 클래스가 비대해지는 것과 코드가 중복되는 것을 방지할 수 있다.
일급 컬렉션은 불변보다는 클래스가 너무 과하게 커지는 것을 방지하며 중복 코드를 줄이는 것에 목적이 있는 것 같다.