package ch01;
public class MainTest1 {
public static void main(String[] args) {
//무엇이든 담을 수있는 제네릭(Generic)프로그래밍
//Generic: 일반화하다. (jdk 5.0 ~)
//제네릭 프로그래밍을 사용하는 이유
//우리가 변수를 사용한다고하면 변수에 항상 자료형을 먼저
//지정하게 되어있다.
//여러 자료형으로 사용 될 수 있는 변수가 있을때 우리는
//제네릭 프로그래밍을 설계, 사용할 수 있다.
//int name; double name; String name;
//담겨지는 데이터타입이 여러가지 일경우 int double String
//변수를 기반으로 클래스를 만든다고 가정했을때 다양한 자료형으로
//사용되기 때문에 여러개의 클래스를 만들게 하거나
//변수명을 달리해서 코드의 복잡도 가독성을 떨어지게 된다.
//때문에 여러개의 클래스를 만들게 된다면 불필요한 메모리를 가지게 된다.
//결론
//다양한 자료형이 적용 될 수있는 클래스를 만드는 것이
//제네릭 프로그래밍 방식이라고합니다.
//제네릭 자료형의 정의
//클래스에서 사용하는 변수의 자료형 여러개 일수 있고
//그기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지않고
//추후 해당 클래스를 사용할때 지정할 수 있도록 선언하는것
//제네릭 사용하지 않는 경우 vs 제네릭을 사용하는 프로그램방식
}
}