개발/java

일급 컬렉션

캐리캐리 2021. 12. 12. 16:34

1)일급 컬렉션이 머지 .. 

2)일급 컬렉션을 왜 쓸까 ..

 

일급컬렉션이란 

컬렉션을 래핑하면서 그 외 다른 멤버 변수가 없는 상태로 만드는 것을 일급컬렉션이라 한다. 

 

사용 이유는 책임 분산이다. 

예를 들어보자 

카페에 음료가 너무 잘 팔려 여러 메뉴 중 음료만  2개 이상 못팔게 제한을 한다고 하고 코딩을 한다고 가정을 하자 

 

1.A카페에서 주문을 할때 음료 수량에 대한 제한을 둔다. 

 

만약 ) 케이크 장사가 너무 잘돼서 인당 판매 수량을 3개로 제한을 한다면 동일하게 각 카페에서 수량 제한을 해야한다. 

코드로 하자면 아래와 같다. 

 

판매 상품이 추가 되고 수량제한관련 로직이 추가 될수록 클래스 내 validation이 늘어 날 것이고 그만큼 부담도 증가한다. 

그러므로 이 책임을 음료 리스트 , 케이크 리스트 등으로 분산 시킨다. 

 

카페 내에서 수량을 제한하지 않는다. 
케이크 리스트를 만들어 해당 리스트에서 수량에 대한 예외 처리를 한다.