? 와일드 카드 - ?와 제네릭 변수 선언, 하위 클래스를 제한하는 용도의 와일드 카드
CODEDRAGON ㆍDevelopment/Java
반응형
?와 제네릭 변수 선언
<? extends Info> |
<? extends Info>가 의미하는 바는 "Info을 상속하는 모든 클래스"를 지칭합니다
Person<? extends Info> person1 = new Person<StudentInfo>();
Person<? extends Info> person2 = new Person<EmplyeeInfo>();
|
Person<StudentInfo> 인스턴스의 참조 값도, Person<EmplyeeInfo> 인스턴스의 참조 값도 인자로 전달받을 수 있는 매개변수의 선언에는 와일드카드 문자 ?가 사용됩니다 |
Person<?> person; |
자료형에 상관없이 Person<T>의 인스턴스를 참조에 사용되는 참조변수, 아래의 선언과 동일한 코드.
Person<? extends Object> person; |
하위 클래스를 제한하는 용도의 와일드 카드
Person<? extends EmployeeInfo> person1; |
|
Person<? super EmployeeInfo> person2; |
|
'Development > Java' 카테고리의 다른 글
제네릭 메소드와 배열, 제네릭에 배열 사용 (0) | 2018.11.27 |
---|---|
List 인터페이스의 계층도 (0) | 2018.11.26 |
사용자 정의 예외 클래스 (0) | 2018.11.23 |
예외처리 내부 매커니즘, JVM의 예외처리 방식 (0) | 2018.11.23 |
문자열 토큰(Token)구분, StringTokenizer 형식-구분자가 하나인 경우, 구분자가 여러 개인 경우 (0) | 2018.11.22 |