인프런 커뮤니티 질문&답변

Juwon Kim님의 프로필 이미지
Juwon Kim

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Model 추가 - v3

mv.getModel().put("members", members); 에서 질문있습니다.

작성

·

353

1

 

mv.getModel().put("members", members); 

이 부분이 잘 이해가 안갑니다. 

ModelView 클래스의 필드에, 
Map<String, Object> model = new HashMap<>(); 
이라고 키는 String 타입, value는 Object타입으로 되어있는데, 

mv.getModel().put("members", members); 
에서는, 두번째 파라미터로, members라는 List<Member> 타입을 넣으셨는데, 이게 어떤식으로 동작된건지.. 

궁금합니다.

 

답변 1

0

안녕하세요. Juwon Kim님, 공식 서포터즈 OMG입니다.

Object 는 모든 클래스의 조상이기 때문에 List<Member> 타입을 받을 수 있습니다.

model Map이 만약 아래와 같이 되어 있다면 value에는 구체적인 타입(List<Member>)만 올 수 있지만,

 Map<String, List<Member>> model = new HashMap<>(); 

 

model Map이 Map<String, Object> 이라면 value에는 List<Member> 뿐만 아니라 Member, Set<Member> 등 다양한 타입(모든 타입)이 올 수 있습니다.

 

감사합니다.

Juwon Kim님의 프로필 이미지
Juwon Kim

작성한 질문수

질문하기