노란색 Warning뜨는게 보기싫었기땜에... 일케 정확하게 Type을 맞추어주었다.
근데 왜 Object로 바로 넣으면 안되는걸까? 다 받아주니까 좋은거 아닌가?
(이거.. 토비님의 강의에서도 나왔던 주제.. !!!)
--> 그렇게 되면, 넣을때는 별 문제가 안되지만. 빼낼때는 다운캐스팅을 해주어야 하고- 결국 런타임에서 오류가 발생할 가능성이 생긴다. 실제로 어떤타입인지는 실행하기 전까지 모르게 때문이다!!
지금의 DispatcherServlet의 경우에는 모든 controller역할의 Servlet들이 똑같은 슈퍼타입의 controller 인터페이스를 구현하고 있기 때문에 저 CommandAction이라는 타입을 Object타입으로 바꾸어도 상관없지만...
다른케이스 즉 여러가지 타입을 넣는때.. 다운캐스팅의 위험이 발생할수있다는 것! 명심해두자!!
댓글 없음:
댓글 쓰기