제네릭스가 실제로 쓰이는 예시
282
작성한 질문수 7
sts로 mvc 하다가 다시 강의듣기 시작해서 그런지 헷갈려서요. 제네릭스는 어느 경우에 쓰이는 건가요? 프로젝트 할때 HashMap을 썼던 것 같거든요.
Controller - jsp (ajax)
@ResponseBody
@PostMapping("/admin/bmember")
public Map<String, Object> bmemberPost(@RequestBody ManagerVO manager){
Map<String, Object> map = new HashMap<String, Object>();
boolean res = managerService.updateManager(manager); // 승인 -> 업데이트 -> bm_approval( 0 -> 1 )
// 동시에 getMakeStore 를 하면서 st_num을 만들고, bm_id값만 넘겨주고, st_approval default값 0이 주어짐 -> storeVO 데이터 저장!
boolean store = storeService.makeStore(manager); // 상점등록 - (st_num) st_bm_id를 이용해서 insert
// => 매장등록 (plusinfo) insert -> update 로 변경.
// map.put("store", store); // 화면단에 store정보를 보낼 필요는 없음. 그냥 일만하러 왔다.
map.put("res", res);
return map;
}
답변 1
0
안녕하세요?
제네릭스는 주로 컬렉션 형식이나 클래스의 타입 안전성을 보장하기 위해 사용되는데요. 위의 코드에서는 Map<String, Object>을 사용하고 있지만, 이는 제네릭스를 사용하지 않은 일반적인 형태의 맵입니다.
강의에서 다루지 않은 코드라 일부만 봤을 때 제네릭스의 사용이 불필요해 보이지만, 타입 매개변수 <T> 를 사용한다면 다음과 같은 방법으로 적용해볼 수 있을 것 같습니다.
@ResponseBody
@PostMapping("/admin/bmember")
public <T> Map<String, T> bmemberPost(@RequestBody ManagerVO manager) {
Map<String, T> map = new HashMap<>();
T res = (T) managerService.updateManager(manager);
map.put("res", res);
return map;
}감사합니다.
자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?
1
145
2
static이 뭐였는지 기억이 안나요 ㅜㅜ
0
118
2
Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의
0
70
1
사고력 키우는 법이 어떤게 있나요?
0
93
2
getter setter
0
101
2
섹션9. 66 메소드 오버로딩 시 질문이 있습니다.
0
78
1
안녕하세요 갑자기 프로그램 에러가 떠서 안되네요
0
75
2
변수 이름짓는법
0
114
2
intelli J 실행오류
0
114
2
혹시 이건 수학적 사고가 부족한 걸까요?
0
152
2
영상이 재생이 안됩니다.
0
167
3
이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.
0
116
2
응용이 어렵습니다.
0
206
2
IntelliJ가 보이지 않습니다.
0
184
3
JDK 버전 문의
0
128
2
BlackBox 파일 내에서 메소드 정의
0
136
1
동기화
0
120
2
Iterator 문의
0
104
1
코드 순서 문의
0
141
1
클래스 메소드
0
149
2
Quiz_05 관련 질문드립니다 !
0
118
2
다운로드가 안됩니다
0
165
2
다형성
0
119
2
HashMap
0
80
2





