왜쓰는건지 어떨때 쓰는건지 이해가 안대요..
[일반] 제네릭 와일드 카드 넘모어려워요
ㅇㄴ(223.62)
2024-07-29 21:46
추천 0
댓글 8
다른 게시글
-
군붕이 공부하려고 책 샀는데 ㅁㅌㅊ? [2][일반] 도끼잽이(koreanassasin) | 24.07.29추천 0
-
금융권 신입 후기 [5][정보] 익명(211.234) | 24.07.29추천 1
-
냉정하게 취준 난이도 어떰? [4][일반] 익명(61.75) | 24.07.29추천 0
-
디비에서 데이터가져올때 dto vs 가져온뒤 dto 바꾸는거 차이 있음? [5][일반] 은다솜(summerender) | 24.07.29추천 0
-
나 백엔드에 대해 깨달아버림 ㅇㅇ [7][일반] 은다솜(summerender) | 24.07.29추천 3
-
index쓰니 더 느려지는 이유 뭔지 아시는 분 [14][일반] 익명(223.62) | 24.07.29추천 0
-
전자과 등등 다른 분야 추천하는 글은 지울게 [3][일반] 김대기(waitkim) | 24.07.29추천 1
-
자바랑 스프링 공부 병행하는게 좋나요? [5][질문] 익명(220.117) | 24.07.29추천 0
-
싱글벙글 결국 약간 맛이 간 주딱 [8][일반] 익명(223.39) | 24.07.29추천 28
-
학교에서 컴구 데베 운체 자구 네트워크 대충 배우긴했는데 [7][일반] 익명(112.168) | 24.07.29추천 0
상한 하한 정할때 쓰거나 타입 필요 없이 다룰때 쓰지
이게 이해가 안되면 추상화라는 개념 자체를 이해 못한거임
상하한이나 타입 다형성? 그건 알겠는데 그래서 왜필요함? 이걸 몰겠어 ㅜ 그냥 제네릭으로 쓰면 되는거 아님? 이라는 생각밖에…
List<a>로 쓰면 될걸 왜 List<? extends A>로 쓰냐고?</a>
A를 상속받은 B가 있을때, B는 A지만, List B는 List A가 아니야. 이해를 돕자면 두개 클래스는 LB, LA라는 완전히 다른 두개의 타입이라고 생각하면 됨 그럼 List A를 인자로 받는 메소드에서 List B를 받을수가 없잖아? 타입이 다르니 당연한 일이지 로직은 호환이 가능한데 인자 타입이 안맞아서 메소드를 못쓰는게 말이 되냐? 어떻게든 쓸 수 있게 해줘야겠지? 그래서 List<? extends A>라는 문법을 만든거야 이렇게 하면 List A와 List B 둘 다 받을 수 있게 됨
super 키워드는 그 반대로 생각하면 되겠지?
오.. 글쓴이는 아니지만 깨달음 얻고갑니다
감사합니다 선생님 역시 대기는 신이야!