●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 |