[Java] 일급 컬렉션(First Class Collection)이 뭘까
2023, Oct 03
TDD&클린코드 강의를 듣던 중, 일급 컬렉션을 사용하라는 요구사항이 있었다.
일급 컬렉션이 뭔지 정리하면서 이해해야겠다.
https://jojoldu.tistory.com/412
일급 컬렉션?
- Collection을 Wrapping하면서, 다른 멤버 변수가 없는 상태를 말함
장점
- 비즈니스에 종속적인 자료구조
- 특정한 조건을 따르는 자료구조를 명확하게 구분할 수 있는 느낌~
- 불변성 보장
- final도 불변성 보장이지 않냐 -> 불변을 보장하진 않고, 재할당만 금지한다.
- Setter같이 컬렉션의 값을 변경할 수 있는 메소드가 없는 컬렉션을 만들면 불변 컬렉션이 된다.
- 상태와 행위를 한 곳에서 관리
- Enum같이 사용 가능
- 이름있는 자료구조
- 원래같으면 같은 성격의 List를 다른 변수명으로 지을 수 있겠지만, 컬렉션 클래스이름이 정해져있기에 검색하기도 편하다.