[Java] 제네릭 타입

u·2022년 5월 12일

Java

목록 보기
10/11

자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미한다.

제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다.
컴파일시에 미리 타입 검사를 하면 아래와 같은 장점이 있다.

  1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다
  2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다

선언 및 생성

// 제네릭 클래스 선언
class MyArray<T> {

    T element;

    void setElement(T element) { this.element = element; }

    T getElement() { return element; }

}

// 제네릭 클래스 생성
MyArray<Integer> myArr = new MyArray<Integer>();

출처 : http://www.tcpschool.com/java/java_generic_concept

와일드 카드

제네릭타입<?> : 타입 파라미터를 대치하는 것으로 모든 클래스나 인터페이스타입이 올 수 있습니다.

제네릭타입<? extends 상위타입> : 와일드카드의 범위를 특정 객체의 하위 클래스만 올 수 있습니다.

제네릭타입<? super 하위타입> : 와일드카드의 범위를 특정 객체의 상위 클래스만 올 수 있습니다.

https://ecsimsw.tistory.com/entry/%ED%97%B7%EA%B0%88%EB%A0%B8%EB%8D%98-%EC%A0%9C%EB%84%A4%EB%A6%AD-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%83%81%EC%86%8D-%EC%A0%95%EB%A6%AC

0개의 댓글