꾸물꾸물 졔의 개발공부

01/24(2) - Generics < 타입 명시 > 본문

SSAFY

01/24(2) - Generics < 타입 명시 >

체제 2022. 1. 25. 13:32

다양한 타입의 객체를 다루는 메서드 - 컴파일 시에 타입 체크 

 

[ 기존 ] 

어떤 타입의 객체를 모두 담을 수 있는 박스 : Object

but, 그것에 접근하려고 하면 일일이 타입을 다 체크해야한다

instaceOf 연산자를 가지고, object 배열에 넣은 객체가 어떤 타입인지 확인할 필요 --> 번거로움 

 

↓↓↓↓↓

 

[ 제너릭스 ] 

클래스나 인터페이스 선언시 클래스명 / 인터페이스명 뒤에 <> 을 통해, 타입 파라미터를 표시해준다.

ex) public class 클래스명 <type> : 어떤 임의의 타입이 들어온다 !!! 

타입이 명시되면, 그 타입의 객체만 들어갈 수 있기 때문에, 나중에 run 시에 일일일 instanceof 연산자로 확인할 필요x

 

<?> : 어떤 타입이든 제한 x 

<? extends T> : T 이거나, T를 상속받고 있는, 즉 T 이하의 타입만 

ex) < ? extends number> : number 이하 (number , byte, short, integer 등등 )

<? super T> : T 이거나, T의 조상타입만 , 즉 T 이상의 타입만 

'SSAFY' 카테고리의 다른 글

01/26 - 자료구조 ( list, set, map )  (0) 2022.01.29
01/25(1) - 예외처리  (0) 2022.01.29
01/24(2) - 인터페이스  (0) 2022.01.25
01/24(1) - 추상클래스  (0) 2022.01.24
01/20(4) - 다형성  (0) 2022.01.21