반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스프링공부
- Kafka
- 기술공부
- 프로그래머스
- 자바공부
- K8S
- 스프링
- 코테공부
- nestjs공부
- 알고리즘공부
- JPA예제
- querydsl
- 카프카
- Flutter
- DDD
- 기술면접공부
- 스프링 공부
- JPA
- nestjs
- nestjs스터디
- JPA 공부
- 자료구조공부
- JPA공부
- 플러터 공부
- Axon framework
- 코테준비
- 스프링부트공부
- 스프링부트
- 플러터 개발
- JPA스터디
Archives
- Today
- Total
DevBoi
제네릭 사용법 예제 쉽게 정리 본문
반응형
1. 제네렉은, 특정 클래스나 함수의 불필요한 타입변형을 막아준다.
대부분 파라미터나, return에 대해서, 특정 타입에 대한 선언을 해주는데,
특정 타입에 대한 정의를 하면 불편한, 공통의 소스들에 대해서는, 이런 제네릭 사용방법이 아주 핵심이다.
바로 쉬운 예를 하나 들어본다.
Student라는 클래스이고, 이 하위에 함수를 ShowType으로 하고,
해당 Student 클래스를 생성할때, 해당 파라미터로 생성자를 만든다.
이떄, showtype을 하면, 이떄 생성한 파라미터에 대한 classtype을 보여주게 만들었다.
이렇게 하면, integer든,string이던, 한가지 소스에 student 를 선언할수있다.
2. 와일드 카드
showPrint 메소드를 보자,
해당 메소드에서는 와일드 카드를 활용해서, showPrint를 할때는 해당 Integer나 상속받은 사람들만 쓸수있도록하였다.
해당은 커스텀 클래스나, Integer 상속 int 형도 가능하게 해준다.
예를 들어서, 제일 상위 모델인 base모델이 있다고 가정하면, 해당 와일드 카드인 addinfo 모델까지도 사용할수 있다는 애기이다.
그럼 마지막으로 멀티타입을 알아보자
요런식으로, 맘대로 사용할수있다.
메소드도 멀티타입이 된다.
대부분 제네릭을 사용할때는, 파라미터나, 타입명이 정확히 일치해야하는 것보다는,
공통 메소드나, class에서 많이 사용하게 된다.
제네릭으로 최대한 묶으면 좋으니 잘 활용해 보자
반응형
'Language > [Java]' 카테고리의 다른 글
JAVA stream 사용 예제_1 (0) | 2021.09.02 |
---|---|
Java Garbage Collection 이란? (0) | 2021.07.21 |
Optional 변수 예제 및 사용방법 (0) | 2021.07.07 |
Stream 객체 사용 방법 및 예제 (0) | 2021.07.05 |
자바 -제네릭이란? (0) | 2021.06.23 |