Generic

mingggkeee·2022년 1월 24일
0

Java

목록 보기
9/20

Generics

  • 다양한 타입의 객체를 다루는 메서드, 컬렉션 클래스에서 컴파일 시에 타입 체크
    • 미리 사용할 타입을 명시하여 형 변환을 하지 않아도 되게 함
      • 객체의 타입에 대한 안전성 향상 및 형 변환의 번거로움 감소

표현

  • 클래스 또는 인터페이스 선언 시 <>에 타입 파라미터 표시
    • ex) public class Class_name {}
  • 객체 생성
    • 변수 쪽과 생성 쪽의 타입은 반드시!! 같아야함
      Class_name<.String> generic = new Class_name<.String>();

type parameter의 제한

  • 필요에 따라 구체적인 타입 제한 필요
    • 계산기 프로그램 구현 시 Number 이하의 타입(Byte, Short, Integer...)로만 제한
      • type parameter 선언 뒤 extends와 함께 상위 타입 명시
    • 인터페이스로 제한할 경우에도 extends 사용
    • 클래스와 함께 인터페이스 제약 조건을 이용할 경우 &로 연결

generic type에서 구체적인 타입 대신 사용

  1. Generic type <?> : 타입에 제한이 없음
  2. Generic type<? extends T> : T 또는 T를 상속받은 타입들만 사용 가능
  3. Generic type<? super T> : T 또는 T의 조상 타입만 사용 가능
profile
만반잘부

0개의 댓글