일급 컬렉션
일급 컬렉션 정의
: collection을 wrapping 하면서, wrapping 한 collection 외에 다른 멤버 변수가 없는 상태를 일급 컬렉션이라 한데. 예를들자면
1 2 3 4 5 6 7 8 9 10 11 12 13
| public class LadderService { private int totalCnt; private List<Player> players; } public class Player { private String name; private String order; }
|
이렇게 되어있는 코드를 아래처럼 바꾸는거지
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public class LadderService { private int totalCnt; private Players players; } public class Players { private List<Player> players; } public class Player { private String name; private String order; }
|
위의 Players 는 List players를 wrapping 하고 있으며 멤버변수로는 해당 컬렉션을 제외하고 다른 녀석은 가지고 있지 않아. 이런 놈을 바로 일급 컬렉션이라 해.
장점
- 비지니스에 종속적인 자료구조를 만들 수 있다
- Collection의 불변성을 보장할 수 있다 ← final로는 재할당만 금지하는 것이지 불변으로 만드는 것은 아니야
- 상태와 행위를 한 곳에서 관리 가능하다
- 이름이 있는 컬렉션을 만들 수 있다
https://jojoldu.tistory.com/412