코드에는 답이 없기 때문에 어떤 것이 맞고, 어떤 것이 틀렸다고 할 수 없다. 상황에 맞춰서 잘 생각해서 사용하면 된다.
맵
- 의미가 모호
- put, get 메소드를 보기 전에는 무엇을 전달하려고 하는지 알 수 없음
- 타입에 대한 강제성이 없음
- value 선언을 최상위 타입인 Object로 해줘야 함
- Type Mismatch와 같은 예외처리 나기가 쉽다
- 유연함
- 단순히 데이터를 얻어올 때 사용
- 예외가 나더라도 데이터를 일단 받아야 한다면 사용을 고려한다
- 데이터 타입이 자주 변경되는 곳에서 사용하기 좋음
- 모델에 비해 40% 이상 GC가 이루어지기 때문에 모델에 비해 1.3~2배 느리다.
모델
- 의미가 명확
- 주석이나 변수명만 보고도 직관적으로 무엇을 전달하려고 하는지 알 수 있음
- 타입에 대한 강제성이 있음 (자료형을 명확하게 지정)
- Type Mismatch의 위험이 적음
- 그러나 데이터 타입 변경이 생길 때마다 타입을 변경해줘야 함
'개발' 카테고리의 다른 글
형상관리와 버전관리 (0) | 2022.03.15 |
---|---|
PCDATA와 CDATA (0) | 2022.03.14 |
URI 경로에 대문자를 사용해도 될까? (0) | 2022.03.14 |
유스케이스 (Use Case) (0) | 2022.03.14 |
Quartz Scheduler (0) | 2022.03.14 |