작성
·
1.1K
0
안녕하세요!
항상 좋은 답변 주셔서 감사합니다.
ParamMap을 잘 모르겠어서 문의드립니다!
일전에 저희가 수작업으로 구현했던 MVC Controller에서 ParamMap을 사용을 이미 했었는데요, 이 때 Paramap은 Map<String, String> 타입으로 사용했었습니다. 왜냐하면 request에서 getParameter()로 하나씩 데이터를 찾고 그 값을 key,value 형식으로 넣었기 때문입니다.
그런데 이번 강의에서는... @Controller 기반에서 값을 paramMap을 자동으로 넘겨줄 때는 Map<String, Object> 형식으로 넘겨주는 것으로 설명해주셨습니다! 혹시 @Controller 기반과 수작업으로 만들었던 paramMap에 동작방식이 차이가 있을까요?
항상 도움 주셔서 감사합니다.
답변 1
1
안녕하세요, ... 님. 공식 서포터즈 codesweaver 입니다.
.
아시다시피 자바의 모든 객체는 Object를 상속받고 String 또한 Object를 상속받습니다. 그래서 Map<String, String>은 Map<String, Object> 를 사용해도 무리없이 작동합니다.
.
Object 로 Map을 만들경우 값의 타입이 String은 물론, 래퍼 클래스(Integer, Long), 배열등과 같이 모든 객체를 다 집어넣을 수 있어 범용성이 커집니다. 이런 범용성이 필요하지 않은 경우라면 Map<String, String> 처럼 구체적으로 타입을 지정해서 사용하는것이 더 편리합니다. 동작 방식은 크게 다르지 않습니다.
.
감사합니다.