Fairy ' s
[JAVA] Generics Class ? 본문
Generic Class
- 데이터의 형식에 의존하지 않고 여러 데이터 타입을 가질 수 있도록 만든 클래스
public class FruitBox<T> {
//필드
private T item;
//메소드
public void push(T item) {
this.item = item;
}
//과일을 빼내는 메소드
public T pull() {
return item;
}
}
- FruitBox에 <T>를 만들어주고 T에 따라 여러가지 타입을 제어할 수 있게 만들어준다.
FruitBox<Apple> box1 = new FruitBox<Apple>();
box1.push(new Apple());
FruitBox<Orange> box2 = new FruitBox<Orange>();
box2.push(new Orange());
//Generic 클래스로 지정한 type 객체가 리턴된다.
Apple item1 = box1.pull();
Orange item2 = box2.pull();
- 아래의 예제에서 FruitBox에 Apple과 Orange를 담았는데 사과를 넘겨준 box1을 보면 pull과 push에 사과를 인자로 주고 받는 모습을 볼 수 있다. 제네릭 타입을 무엇으로 지정했냐에 따라 보내고 받는 타입이 바뀐다.
- FruitBox<Apple> box1 = new FruitBox<>(); // 제네릭 클래스 객체 생성시 타입 생략 가능
// 변수로 선언할 때만 type을 적어주면 된다.
'Study > JAVA' 카테고리의 다른 글
[JAVA] Exception / try ~ catch (0) | 2023.01.11 |
---|---|
[JAVA] Wrapper Class ? (0) | 2023.01.11 |
[JAVA] ArrayList ? (0) | 2023.01.10 |
[JAVA] HashMap / HashSet? (0) | 2023.01.10 |
[JFrame] JFrame 이란? / 기초 예제 구현 (0) | 2023.01.09 |
Comments