Christmas Pikachu 제네릭이란
개발일지/자바

제네릭이란

ZI_CO 2022. 9. 22.

● 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언하는 것

● 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식

● 컬렉션 프레임워크에서 많이 사용되고 있음

 

● 자료형 매개변수 T(type parameter) : 이 클래스를 사용하는 시점에 실제 사용할 자료형을 지정, static 변수는 사용할 수 없음

● GenericPrinter : 제네릭 자료형

● E : element, K: key, V : value 등 여러 알파벳을 의미에 따라 사용 가능

 

 

예)

 

재료라는게 추상적인 개념이라 추상 클래스로 만들어줘서 상속을 시켜준다.

 

 

 

 

 

 

플라스틱과 파우더는 재료에 속하기 때문에 추상클래스의 material(재료)클래스를 상속을 받아준다. 

 

 

 

 

하지만 물이라는 재료는 알맞지 않은 재료에 속하기때문에 상속을 받지 않는다.

 

 

 

 재료의 준비가끝났나다면 프린터라는 기계에서 가공을 해줘야한다. 가공을 하려면 재료가 필요하다. 

하지만 가공할 재료는 여러개가 될 수 있다. 그렇기 때문에 어떤 자료형이 들어올 지 모른다. 어떠한 자료형을 받을수 있도록 제네릭을 활용해 자료형의 범위를 지정해줘야한다 <T extend 재료> 이렇게 되면 재료의 클래스를 상속받은 데이터 타입만 들어 올수가있다.재료에는 알맞지 않은 재료(물)은 들어 올 수 없게 된다. 

'개발일지 > 자바' 카테고리의 다른 글

identityHashCode, hasCode의 차이점  (0) 2022.10.04
콜백 메소드의 활용  (0) 2022.10.04
동기화(synchronized)  (0) 2022.09.20
Thread.sleep 활용  (0) 2022.09.19
Thread란? (쓰레드 생성 및 활용법 2)  (0) 2022.09.19

댓글