Fairy ' s

[JAVA] Generics Class ? 본문

Study/JAVA

[JAVA] Generics Class ?

berafairy 2023. 1. 10. 17:05

 

 

// 참고

 


 


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