티스토리 뷰
반응형
package prj190715;
import java.util.*;
class Box<T>{
ArrayList<T> list = new ArrayList<T>();
void add(T item) { list.add(item); } //list.add() 파라미터로 추가하고자하는 객체를 넘김.
T get ( int i ) { return list.get(i); }
ArrayList<T> getList() { return list; }
int size() { return list.size(); }
public String toString() { return list.toString(); }
}
class Fruit {
public String toString() {//리턴타입 String, toString 이라는 메소드 만든거.
return "Fruit";
}
}
class Apple extends Fruit {
public String toString() {
return "Apple extends fruit ";
}
}
class Grape extends Fruit {
public String toString() {
return "Grape extends fruit";
}
}
class Toy {
public String toString() {
return "Toy";
}
}
public class GenericsTest {
public static void main(String[] args) {
Box<Fruit> fruitBox = new Box<Fruit>();
Box<Apple> appleBox = new Box<Apple>();
Box<Toy> toyBox = new Box<Toy>();
//Box <Grape> grapeBox = new Box<Apple>(); //에러 타입 불일치.
fruitBox.add(new Fruit());
fruitBox.add(new Apple()); //가능, void add(T item)
fruitBox.add(new Grape());//extends 관계에선 부모가 자식 갖다 쓸수있어서 가능.
// appleBox.add(new Toy()); //error. Box<Apple>에는 Apple만 담을수 있다.
toyBox.add(new Toy());
// toyBox.add(new Apple()); //error. Box<Toy>에는 Appple을 담을수 없다.
System.out.println(fruitBox);
System.out.println(appleBox);
System.out.println(toyBox);
}
}
결국은 다형성이다.
다형성에 의거하여 부모들은 자식거 갖다 쓸 수 있으니까(? 묘하게 현실적)
box generics type이라 한들, 못 갖다 쓰진 않는다는 것.
반응형
'JAVA' 카테고리의 다른 글
190716 Enhancedfor 3중 배열 (0) | 2019.07.16 |
---|---|
190715 LinkedList예제 (0) | 2019.07.15 |
190715 List, Iterator (0) | 2019.07.15 |
190712 Swing, JFrame 이용 계산기 (무식한버전) (0) | 2019.07.12 |
190711 JAVA Frame 상속, 좌표값 팝업+label로 나타내기 (0) | 2019.07.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- spring error #
- Regex
- JSON
- 엑셀다운로드
- 공백찾기
- 정규식
- no getter for property named
- selectbox
- mybatis
- ''찾기
- poi 엑셀
- 이메일 정규식
- 계좌번호정규식
- SpringXmlModelInspection
- PageNotFound - No mapping for GET
- JSON날짜
- jQuery
- 정규식 숫자만
- Spring
- js
- Failed to load resource: the server responded with a status of 404 (Not Found)
- poi
- spring 엑셀
- select제어
- 정규식 특수문자
- POI EXCEL
- 인텔리제이
- 정규식 한글만
- JSON파싱
- IntelliJ #gradle #tomcat #spring #springmvc
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함