1
2
3
4
5
6
7
8
9
10
public class Cards {
private List<Card> card;
public Cards(List<Cards> cards) {
this.cards = cards;
}
// ..
}
특징
- 컬렉션을 wrapping하면서 그 외 다른 멤버변수가 없는 상태.
- 비즈니스에 종속적인 자료구조.
List<Card>
로 관리하기보단Cards
라는 컬렉션 객체로 관리하면 객체를 해당 비즈니스에 종속시킬 수 있다. - 어떠한 객체에 대한 검증로직같은 것이 필요할 때 해당 객체를 쓸 때마다 검증로직을 구성해야하는데 일급 컬렉션을 통해 이를 방지 할 수 있음.
- 객체들에 대한 상태, 행위를 컬렉션에서 관리
@Delegate
- 롬복의 해당 어노테이션을 사용하면 컬렉션 내의 Collection 필드를 제어하기 위한 함수들을 만들필요 없다. 그 Collection 필드의 메서드들이 전체 클래스로 위임된다.
Reference)
https://jojoldu.tistory.com/412