●Generic

 ▷Type parameter를 받아 다양한 객체에 대해 적용가능하도록 한 것.

 ▷C++의 Template과 유사함

 

 ▶Type 제한

  ▶extends 

   ▷~의 자식 오브젝트이다.

   ▷<T extends comparable<T>> : comparable<T> interface를 구현한 요소들만 올 수 있다.

    ▷comparable<T> : compareTo(obj)를 가짐. (비교를 위한 메소드)

   ▷<T extends 

 

  ▶super

   ▷~의 부모 오브젝트이다.

 

 ▶wildcard (<?>)

  ▷어떤 타입이든 올 수 있다.

  ▷extends, super을 통해 조정 가능하다.

  ▷Type parameter가 의미있게 사용되지 않는 경우 (타입인자를 받거나 변환하지 않음)

 

 

○Generic Class

 ▶선언

  ▷class명 뒤에 Type parameter를 받음 (<>)

  ▷여러 개의 Type parameter를 받을 수 있음

  ▷Type parameter을 이용하여 메소드, 필드를 선언 가능

 

 ▶객체 생성

  ▷원하는 타입을 <>안에 넣음

 

○Generic method

 ▷일반적인 Class내의 method에서도 Type parameter를 받을 수 있다.

'컴퓨터 언어 > java' 카테고리의 다른 글

Package  (0) 2020.11.13
Inner class  (0) 2020.11.11
Java Documentation Comments  (0) 2020.11.10
Modifier  (0) 2020.11.10
Method  (0) 2020.11.10

+ Recent posts