일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 공부
- Flutter
- nestjs스터디
- Axon framework
- 코테준비
- 자바공부
- JPA 공부
- JPA스터디
- K8S
- JPA
- 플러터 개발
- nestjs공부
- JPA공부
- JPA예제
- 스프링
- 프로그래머스
- 기술면접공부
- 카프카
- querydsl
- 기술공부
- 자료구조공부
- Kafka
- DDD
- 알고리즘공부
- nestjs
- 코테공부
- 스프링공부
- 플러터 공부
- 스프링부트공부
- 스프링부트
- Today
- Total
목록제네릭이란 (2)
DevBoi
제네릭에 대해서 좀 더 심화된 부분을 공부해보자 ObjectMapper에 대해서 공부를 하다가. 생긴 궁금증은 꼬리의 꼬리를 물었고, 내가 모르는 부분까지 봉착했다. 결과적으로 ObjectMapper를 사용할때 제네릭 관련 변수로 뺄때 왜 TypeReference를 선언해야하는지 이해가 안됬다. 정확히는 이유를 정확하게 몰랐다. 제네릭의 type erasure에 대해서 먼저 알아야 한다. 타입 소거라고도 한다. 런타임에 타입에 대한 정보를 버리는 것이다. bounded type -> bound type unbouned type -> Object 1) Unbounded Type public class SmithTest { public static T unboundedType(T t) { return t; ..
제네릭은 일반적인 이라는 이름, 뭐이름은 중요하지 않고 클래스 내부에서 지정하는 것이 아닌 , 외부에서 사용자에 의해 지정되는 것을 의미한다. 한마디로, 특정 타입을 미리 지정해주는 것이 아니라 필요에 의해 지정할수 있도록 하는 일반 제네릭 타입이라는 것이다. 제네릭의 장점 - 제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할수 있다. - 클래스 외부에서 타입을 지정해주기 때문에 타입을 체크하고 변환해줄 필요없이 관리가 편하다. - 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다. 제네릭을 실제로 구현하고있는 것을 예시로 한번 생각해보자 우리가 많이 쓰는 ArrayList가 있다. 이걸 만들고있는 라이브러리를 보면, 제네릭으로 구현이 되어있다. 우리는 ArrayList,..