PLOD

[Java] 제네릭 클래스 (Generic Class) 본문

개발 공부/Java

[Java] 제네릭 클래스 (Generic Class)

훌룽이 2023. 1. 24. 12:34

- Generic : 데이터의 타입을 일반화 한다.

자바는 객체를 담아 편하게 관리할 수 있는 컬렉션(Collection) 이라는 자료구조를 제공한다.  초기에는 어떤 객체를 담아야 할지 몰라서 모든 클래스를 담을 수 있는 Object 클래스를 사용하였다. Object 클래스는 모든 자료형의 클래스를 포함 하기 때문이다. 하지만 Object 클래스는 코드를 실행 해볼 수 없는 문제점이 있다. 

이러한 문제점을 극복할 수 있는것이 제네릭 타입이다. 제네릭 타입은 하나의 코드를 다양한 타입의 객체에 재사용하는 객체지향기법이다. 

 

 

1) Cup 클래스 : 제네릭 타입으로 선언

public class Cup<T> {						// 타입 매개변수 명시 <T>
	private T beverage;

	public Cup(T beverage) {				// 생성자 생성 가능
		this.beverage = beverage;
	}

	public T getBeverage() {				// 반환형은 T 이다
		return beverage;
	}

	public void setBeverage(T beverage) {
		this.beverage = beverage;
	}
	
	
}

2) Boricha 클래스

public class Boricha {}

3) Beer 클래스

public class Beer {}

4) main 클래스

public class CupTest {
	public static void main(String[] args) {
		Cup<Boricha> c = new Cup<Boricha>(null);
		
		c.setBeverage(new Boricha());
		
		Boricha b = c.getBeverage();
	}
}
Comments