프로그래밍

JAVA 제네릭 클래스 안에서 instanceof 타입분기를 태울 수 있을까?

클래스 안에 빌더 클래스 여러개 만들어서 제네틱 타입에 따라 빌더 생성자를 다르게 넘기고 싶은데 가능할까?

 

아님 다른 방법이 있을까?

2개의 댓글

2023.07.26

자바에서는 제네릭의 타입을 알아야 하는 부분이 있다면 제네릭을 쓰지 않는 게 정도인 것 같음. 굳이 해야 한다면 instanceof보다는 따로 Foo<T>를 상속하는 SpecialFoo 클래스를 만들어서 해당 메소드들을 오버라이딩하고 Foo<Special> 대신 SpecialFoo를 생성해서 활용하는 게 조금이나마 더 객체지향적인 방법이지 않을까.. 싶습니다.

0
@스비니

Gson에서 쓰는 TypeToken이나 ObjectMapper 에서 쓰는 TypeReference 같은 방식같은건가?

 

안그래도 이거 따라해보려는데 구현하려는게 restapi 요청별로 param 빌더클래스를 나눠서 클래스 하나로 좀 간단하게 REST 요청 처리 하는거거든. 근데 응답을 list 타입으로 역직렬화 해야하는데 제네릭 클래스 안에 또 제네릭 클래스타입이 들어가는 형태라서 그런가 잘 안되네.

 

빌더 클래스도 인터페이스나 추상클래스로 추상화 구현도 어케해야할지 잘 감이 안잡히고...

 

그래서 그냥 빌더들은 요청하고싶은 녀석 각자 호출시키게 하고 응답부분은 제네릭 메소드만 구현시키고 인수로 클래스 자체를 받고 class.isInstance로 타입비교한 다음에 해당 타입이 있으면 그 타입의 list타입으로 역직렬화 쓰는 형식으로 처리함

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5719 [프로그래밍] 하이브리드 웹뷰기반 앱은 rn이 정석이야? 3 잠적자 0 20 시간 전 163
5718 [프로그래밍] c# webview2 도움요청함.. 7 carpediem 0 1 일 전 119
5717 [프로그래밍] 현업 개발자형들 맥씀? 9 이또히로부미 0 1 일 전 218
5716 [프로그래밍] libtorch에서 cuda 안불러와지는거 도움! 2 Hakat 0 2 일 전 125
5715 [프로그래밍] 뭔가 게시판이 애매해서 그런데 gis 잘아는 사람? 1 하늘늑대 0 3 일 전 164
5714 [프로그래밍] 컴포즈가 프리뷰랑 폰에서 다르게 동작해요 1 집에가게해줘 0 3 일 전 118
5713 [프로그래밍] 난바보다) 크로미움 램사용량 문제 일단 해결 2 ye 0 5 일 전 284
5712 [프로그래밍] k8s DNS 이슈는 해결이 안되나보다. 잉텔 0 5 일 전 171
5711 [프로그래밍] 분노) 진짜 유튜브 구글 패악질 토나오네 씨발 17 ye 0 7 일 전 770
5710 [프로그래밍] 프론트엔드 공부하려는데 언어 추천좀 7 스트리플 0 7 일 전 352
5709 [프로그래밍] 객체지향 뽕에 취하지마라 8 69746974 2 8 일 전 409
5708 [프로그래밍] 요즘 앱개발 인력시장 어떰..3년차 2 센치해요 0 11 일 전 388
5707 [프로그래밍] 컴포즈 Box 컴포넌트가 안 나와... 1 집에가게해줘 0 13 일 전 148
5706 [프로그래밍] 아 ssl 적용햇는데 개정신없네 9 넌또화나있네 0 13 일 전 305
5705 [프로그래밍] 패스트 캠퍼스 <---- 얘내는 가격 인상 원툴임? 5 조강현 0 16 일 전 398
5704 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 17 일 전 266
5703 [프로그래밍] leetcode 50일 달성 1 JimmyMcGill 1 17 일 전 237
5702 [프로그래밍] 그냥 개인공부용 git 만들건데 5 년째재수강 0 17 일 전 336
5701 [프로그래밍] html 자바스크립트 질문 19 책걸이 0 18 일 전 370
5700 [프로그래밍] 아니 시바 이게 무슨일이야 4 인간지표 0 19 일 전 380