본문 바로가기

13장 제네릭(Generic)(5)_와일드 카드 타입 API Document의 매개변수나 리턴타입에서 자주 볼 수 있는 와일드 카드 타입에 대해서 알아본다. 와일드카드(?)타입?- 이미 선언되어 있는 제네릭 타입을 매개변수나 리턴타입으로 사용할 때, 타입 파라미터를 제한할 목적으로 사용한다.** 은 제네릭 타입을 선언할 때 타입 파라미터를 제한하기 위해 쓴다.- 와일드카드 타입의 세가지 형태1. 제네릭타입 : Unbounded Wildcards (제한없음)2. 제네릭타입 course) {System.out.println(course.getName()+ " 수강생: "+ Arrays.toString(course.getStudents()));}public static void registerCourseStudent(Course
13장 제네릭(Generic)(4)_제한된 타입 파라미터 타입 파라미터에 지정되는 구체적인 타입을 상속 및 구현 관계를 이용해서 제한할 수 있다.Public 리턴타입 메소드(매개변수1,매개변수2, ...) { ... } --> 상위 타입은 클래스 뿐만 아니라 인터페이스도 가능하다.*인터페이스라고해서 extends 대신 implements를 사용하지 않는다. *여기서 extends는 상속의 개념이 아니라 종류라는 의미라고 생각할 것 - 타입 파라미터를 대체할 구체적인 타입--> 상위타입이거나 하위 또는 구현 클래스만 지정할 수 있다.* 즉, 상위타입에 클래스가 왔다면 자식클래스, 상위타입에 인터페이스가 왔다면 구현클래스가 타입파라미터가 될 수 있다. - 주의할 점--> 메소드의 중괄호 { } 안에서 타입 파라미터 변수로 사용 가능한 것은 상위 타입의 멤버(필드,..
13장 제네릭(Generic) (3)_제네릭 메소드 제네릭은 타입을 선언할 때 뿐만 아니라 메소드를 선언할 때에도 제네릭을 사용할 수 있다. 제네릭 메소드?- 매개변수 타입과 리턴 타입으로 타입 파라미터를 갖는 메소드를 말한다.- 제네릭 메소드 선언 방법- 리턴타입 앞에 기호를 추가하고 타입 파라미터를 기술한다.- 타입 파라미터를 리턴타입과 매개변수에 사용한다.public 리턴타입 메소드명(매개변수,...) { ... }public Box boxing(T t) { .... } 예제1 >>제네릭 타입으로 선언된 Box클래스public class Box {private T t; public T getT() {return t;}public void setT(T t) {this.t = t;}} 제네릭 메소드를 가지는 Util 클래스public class ..