티스토리 뷰

Java/개념

JAVA Generic(제네릭 클래스)

정복잉 2020. 5. 11. 08:42
반응형

인터페이스

#개념정리

 

Generic(제네릭)?

하나의 코드를 여러 타입에 대하여 재사용할 수 있도록 해주는 기술

 

Generic(제네릭 클래스)?

일반적인 코드를 작성하고 이 코드를 다양한 타입의 객체 대하여 재사용하는 객체 지향 기법

즉, 구체적인 타입을 정하지 않고 변수형태로 적어내어 클래스 내부에서 결정하는

 

타입 매개변수?

제네릭클래스에서는 타입을 변수로 표시하는데 이를 뜻함

 

타입 매개변수의 표기?(정해진 것은 아니다.)

E - Element

K - Key

T - Type

V - value

S,U,V 등 2번째, 3번째, 4번째 타입 (타입형을 다중으로 사용가능)

 

다이아몬드 구조

제네릭클래스에서 생성자 호출시 타입 인수를 구체적으로 주지 않아도 된다.

클래스명<타입형> 매개변수 = new 클래스명<>( );

ex) Box<Integer> b = new Box<>( );

 

Gengric 구조

1)단일 타입 매개변수

①제네릭 클래스의 타입매개변수 생성

class 클래스명<타입매개변수>{ -> class Box<T>{

 

②getter/setter 생성

필드와 getter/setter생성한다.

 

③제네릭클래스 객체선언

클래스명 매개변수 = new 클래스명( );

-> Box b = new Box( );

//이럴경우는 타입이 미지정이라 setter에 타입에 상관없이 기재 가능

클래스명<타입매개변수> 매개변수 = new 클래스명( );

-> Box<Double> b = new Box( );

-> Box<Double> b = new Box<>( );

-> Box<Double> b = new Box<Double>( );

 

2)다중 타입 매개변수

①상속받을 인터페이스 or 클래스에 타입매개변수를 지정한다.

public interface Prir<T,S>{

public T type( );

public S sype( );

}

 

②타입 매개변수를 지정한 인터페이스 or 클래스를 상속받는다.

public class Order<T,S> implements Pair<T,S>{

private T type;

private S sype;

//T와 S는 type와 sype의 타입이다.

 

③생성자 생성

public Order(T type S sype){

 this.type = type;

 this.sype = sype;

}

//인터페이스의 오버라이딩을 해준다.

 

출력

Order<String,Integer> o = new Order<String,Integer>("허니버터칩",1200);

 

 

 

'Java > 개념' 카테고리의 다른 글

JAVA Generic(제네릭 인터페이스)  (0) 2020.05.15
JAVA Generic(제네릭 메서드)  (0) 2020.05.15
JAVA package/java.util 총 정리  (0) 2020.05.10
JAVA package/java.util/StringTokenizer  (0) 2020.05.10
JAVA package/java.util/Calendar  (0) 2020.05.10
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/10   »
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
글 보관함