일급 컬렉션
- 컬렉션을 컬렉션 하나만을 상태값으로 갖는 클래스로 만든 것을 일급 컬렉션이라고 한다
- 왜 일급 컬렉션을 쓸까?
- 조건을 만족해야하는 컬렉션을 만들어주고 싶을 때
- Ex) 생성자에
validate()
메서드를 추가해 중복을 제거한다든지 등…
- 컬렉션의 불변을 보장해주고 싶을 때
- 일반 컬렉션에
final
을 붙여줘도 재할당이 안 되는 거지 add()
나 put()
등을 통해 값을 추가해줄 수 있다.
- 값을 추가하거나 변경하지를 못 하도록 하려면 컬렉션의 값을 변경할 수 없는 메서드로만 구성된 클래스로 만들어주면 된다
- 상태값과 그 상태에 대한 로직을 함께 관리해줄 때
- Ex) List에 데이터를 담고 Service에서 로직을 수행할 때는 코드 중복이나 코드에 대한 관계를 표현해줄 수 없다. List 데이터를 갖고 있는 클래스에서 List 데이터를 활용하는 로직을 수행해야지 그런 문제들을 없애줄 수 있다.
- 이름이 있는 컬렉션
- 컬렉션에 이름을 붙여줘서 의미를 부여해줄 수 있고 명확하게 표현이 가능해진다
출처