다음과 같은 코드가 있었는데 원래 60라인에 노란색 줄이 떴었다.
확인해보니 데이터가 확실히 Map 형식인지 확인할 수 없다는 경고.
그래서 @SuppressWarnings("unchecked")를 추가해줬는데 이때 response와 callback 2가지가 뜨길래 궁금해서 찾아봤다.
[ @SuppressWarnings("unchecked") ]
※ suppressWarnings :
경고가 제거되지만 검사 없이 강제 캐스팅 하는 방식이다. 응답 구조가 항상 같다면 사용해도 된다.
=> 해당 코드에서 profileMap.get(”response”)는 항상 Map<String, Object> 형태이므로 사용해도 된다.
[ @SuppressWarnings("unchecked")에서 response와 callback 차이 ]
- callback : 해당 메서드 전체에 경고 무시를 적용한다.
- @SuppressWarnings를 메서드 선언부에 붙임
2. response : 해당 변수 선언줄(한 줄) ****에만 경고 무시를 적용한다.
- @SuppressWarnings를 변수 선언 앞에 붙임
⇒ 웬만하면 필요한 줄에만 한정해서 쓰는 것이 좋기 때문에 response 라인에만 붙이는 게 안전하다.
+ ) Object로 받고 instanceof 검사 후 캐스팅해도 된다고 한다
'웹 개발' 카테고리의 다른 글
XML 파일로 AOP 적용하기 (0) | 2025.04.24 |
---|---|
AOP (0) | 2025.04.23 |
JSP/Servlet → Spring Boot 이관 중 배운 점 (0) | 2025.04.21 |
web.xml, applicationContext.xml (0) | 2025.04.20 |
DB 이관 (0) | 2025.04.19 |