HBlog

3/7 제네릭 본문

프로그래밍 기록

3/7 제네릭

Heeseonn 2022. 12. 17. 18:59
Client<?> client = null;
  1. 제네릭 사용 이유
  1. 컴파일 시 강한 타입 체크를 할 수 있음
  2. 타입 변환을 제거함
  1. 제네릭 타입
  • 제네릭 타입: 타입을 파라미터로 가지는 클래스와 인터페이스 ex) <>
  • object타입: 모든 자바 클래스의 최상위 조상 클래스
  • 제네릭은 클래스를 설계할 때 구체적인 타입을 명시하지 않고 타입 파라미터로 대체했다가 실제 클래스가 사용될 때 구체적인 타입을 지정함으로써 타입변환을 최소화시킴
  1. 멀티 타입 파라미터
  • 멀티 타입 파라미터: 콤마로 구분
  • 자바 7부터 제네릭 타입 파라미터의 중복 기술을 줄이기 위해 다이아몬드 연산자 제공

ex) Product<Tv, String> product = new Product<>();

  1. 제네릭 메소드
  • 호출 방법:
  1. 리턴타입 변수 = <구체적타입> 메소드명(매개값); - 명시적으로 구체적 타입을 지정
  2. 리턴타입 변수 = 메소드명(매개값); - 매개값을 보고 구체적 타입을 추정
  1. 제한된 타입 파라미터
  • 타입 파라미터에 지정되는 구체적인 타입을 제한할 필요가 있을 때
  • 예: <T extends 최상위타입>: 최상위타입의 하위타입만 허용
  • 예: Number- Byte, Short, Integer, Long. Double
  1. 와일드타입
  • 제네릭타입<?>: 제한 없음
  • <? extends 상위타입>: 상위클래스 제한(하위만 가능)
  • <? super 하위타입>: 하위클래스 제한(상위만 가능)
  1. 제네릭 타입의 상속과 구현

'프로그래밍 기록' 카테고리의 다른 글

3/2 이클립스 환경설정  (0) 2022.12.17
REST API  (0) 2022.12.17
2/27일 Oauth 인증  (0) 2022.12.17
Comments