💡제네릭(Genric)이란?
자바에서 제네릭이란 매개변수(Type Parameter)를 이용하여 클래스, 인터페이스, 메서드를에서 재사용 할 수 있는 것이다.
지금껏 공부를 해왔다면 괄호<>로 되어있는 코드를 한번은 봤을 것이다
Box<String> strBox = new Box<>("Hello");
<>로 되어있는 코드가 제네릭이라고 하는데, Box<T.>에서 <T.>는 Box클래스가 어떤 타입을 사용할건지를 나타내는 매개변수이다.
즉, 우리가 변수를 선언할때 타입명을 쓰는 것처럼, 제네릭을 통해 타입을 외부에서 정하는 것이다.
제네릭의 기본 형태
이름<T> {
// T는 타입 매개변수(Type Parameter)로, 클래스 내에서 여러 곳에서 사용될 수 있음
T 변수이름; // 제네릭 타입 변수 사용 예시
T 메서드이름(T 매개변수); // 제네릭 메서드 정의 예시
}
제네릭 클래스를 인스턴스화 시킬때는 타입을 지정해줘야한다.
예를 들어 Box<String,>이라고 하면 Box클래스에 T가 String으로 지정되어 String타입 객체를 다루는 Box객체를 생성하게 된다.
📒 마치며..
제네릭은 사용자가 형변환을 지정해주기 때문에
타입변환할 필요가 없고, 여러개의 선언이 가능하기 때문에 알아두면 강력한 구문이다.