[아이템 38] 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라
Closed this issue · 3 comments
102092 commented
[아이템 38] 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라
102092 commented
p235 예시 코드 바로 밑에,
... 반면, 특정 연산에서는 EnumSet과 EnumMap을 사용하지 못한다..
- 어떠한 특정 연산에서 왜 사용하지 못하는 걸까요..?
kses1010 commented
특정 연산이라는 뜻이 첫번 째 방법(T extends Enum & Operation>)을 의미하는 것 같습니다. p235의 예시 코드 장점에서 유연하고 여러 구현 타입의 연산을 조합해 호출할 수 있다고 설명이 있습니다.
또 다른 곳을 찾아보니 두번째 방법(Collection<? extends Coperation>) 방법이 EnumSet, EnumMap을 사용할 수 있는 유연성을 가지고 있다고 하네요.
102092 commented
extends Enum<T>
.. 에서는 한정되어있기 때문에 EnumSet, EnumMap을 사용하지 못한다.Collection<? extends Coperation>
을 사용하면, EnumSet,EnumMap을 사용할 수 있다. 즉 유연해졌다.- 그 대신에, 받는쪽을
Collection
으로 받는 것이 필요해졌다.
- 그 대신에, 받는쪽을