[Java] 제네릭 메서드 / 제한된 파라미터 / 와일드카드

2021. 7. 18. 19:48· Java
목차
  1. 1. 제너릭 메서드
  2. ▶ 제너릭 메서드 사용 예시
  3. 2. 제한된 파라미터 타입
  4. 3. 와일드카드

2021-06-30

kr.or.ddit.basic /T03_GenericMethodTest


1. 제너릭 메서드

  • 선언 방법 :  pulic <  >  리턴타입  메서드명  (매개변수=파라미터)
  • 제너릭 클래스가 아니어도(일반클래스) 제너릭 메서드 사용 가능

 

▶ 제너릭 메서드 사용 예시

 

 


2. 제한된 파라미터 타입

  • 제네릭에 extends 를 지정해서 해당 클래스/메서드 + 그 자손만 올 수 있도록 제한을 건다
  • super는 불가능. 상속만.

>> Number 혹은 Number의 자식 클래스라면,  doubleValue() 를 사용 할 수 있을테니까  extednds Number라고 설정한 것.

 

>> Util2.Compare() 는 Number 혹은 그 자손만 쓸 수 있음

>> String 클래스는 Number를 상속받지 않았으므로 여기 올 수 도없고, doubleValue()도 없음


3. 와일드카드

  • Why? : 타입이 일치하지 않아도 객체 / 변수 / 메서드를 사용 할 수 있다
  • When? : 제너릭 클래스 or 메서드 or 인터페이스 선언 할 때 전달인자(Argument)로 사용

 

▶ 종류

  • <? extends T> --> 와일드 카드의 상한 제한. T와 그 자손들만 가능 多
  • <? super T> ----> 와일드 카드의 하한 제한. T와 그 조상들만 가능  少
  • <?> ------------> 허용 가능한 모든 타입 가능. <? extends Object>

 

▶ 사용 예시

>> 부모 클래스 Fruit  와 상속받은 Grape  / Apple 클래스

 

 

 

>> 부모 클래스 객체인 과일상자엔 자식(사과/포도) 담기 가능

>> 형제 클래스 객체인 사과상자엔 포도 불가능

 

 

▶ extends ?  extedns T 차이점 (제너릭 T / 와일드카드 차이점)

  • T는 제너릭 클래스를 생성(선언) 할 때 반드시 타입을 알려줘야 함
  • ?는 사용 할 때도 아직 모름 (제너릭한 객체를 생성 할 때 알려줌)
  • ---> 컴파일 에러만 막아줌
  • ---> 어떤 타입을 꺼내야 할지 모르기 때문에 이 상태로는 실행 불가

 

▶extends T

>> 리턴타입 : 과일을 상속받은 T

>> 파라미터 : 과일을 상속받은 T를 담은 과일상자(List)

 

저작자표시 비영리 변경금지 (새창열림)

'Java' 카테고리의 다른 글

[Java] 제너릭 배열 + 와일드카드 사용 예시(수강정보)  (0) 2021.07.18
[Java] 제너릭 클래스(Generic Class)  (0) 2021.07.18
[Java] 가변형 인수(파라미터)  (0) 2021.07.18
  1. 1. 제너릭 메서드
  2. ▶ 제너릭 메서드 사용 예시
  3. 2. 제한된 파라미터 타입
  4. 3. 와일드카드
'Java' 카테고리의 다른 글
  • [Java] 제너릭 배열 + 와일드카드 사용 예시(수강정보)
  • [Java] 제너릭 클래스(Generic Class)
  • [Java] 가변형 인수(파라미터)
devkmee
devkmee
devkmee
devkmee
devkmee
전체
오늘
어제
  • 분류 전체보기 (40)
    • JavaScript & TypeScript (2)
    • vue.js (1)
    • react (0)
    • Java (4)
    • SQL (6)
    • DevOps (5)
    • Web (2)
    • Algorithm (10)
    • Git (2)
    • IDE (8)
    • 후기 (0)
      • [스터디] Go To Learn 2기 (0)
      • 컨퍼런스_세미나_밋업 (0)

블로그 메뉴

  • 홈
  • 태그
  • GitHub

공지사항

인기 글

태그

  • 좌표계수정
  • 연습
  • DevOps
  • 공간조인
  • Thread
  • 가상RESTAPI
  • tsconfig
  • java
  • 정렬
  • LIST
  • 이클립스
  • map
  • Linux
  • Generic
  • SQL #ORACLE #프로그래머스
  • 조건문
  • oracle
  • intelij
  • 객체선택
  • 단축키
  • ubuntu
  • QGIS
  • 레이어조인
  • ORACLE #프로그래머스
  • 가상DB
  • 오라클 #프로그래머스 #LEVEL #WITH AS
  • Vmare
  • VSCode
  • HashMap
  • jsconfig

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
devkmee
[Java] 제네릭 메서드 / 제한된 파라미터 / 와일드카드
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.