기초 및 언어/▶ Java&JSP
29. Generic
by 류딩이
2025. 8. 22.
1. 제너릭이란?
- 클래스나 메서드에서 사용할 데이터 타입을 일반화(generalize)한 기법
- 즉, 하나의 코드로 여러 타입을 지원할 수 있도록 만들어줍니다.
- 자료형을 확정하지 않고, 객체를 생성할 때 원하는 타입을 지정합니다.
🔷 제너릭 클래스 사용법 정리
1. 제너릭 클래스 정의하기
- 클래스명 옆에 **<>**를 붙이고, 안에 임의의 타입 파라미터를 정의합니다.
- 일반적으로 T(Type), E(Element), K(Key), V(Value) 등을 많이 사용합니다.
2. 제너릭 객체 생성하기
- 객체를 생성할 때는 클래스명 옆에 실제 사용할 타입을 지정해야 합니다.
- 이렇게 하면 타입 안정성이 보장되고, 별도의 **형변환(Casting)**이 필요 없습니다.
class Top3<T>{
// T는 아직 확정하지 않은(임의로 지정할) 자료형을 의미한다.
// T라는 이름은 내가 임의로 붙인 것 (보통 Type의 약자)
private T data;
public void setData(T data) { // T 타입의 데이터를 저장
this.data = data;
};
public T getData() { // T 타입의 데이터를 반환
return data;
}
}// Top
public class Ex02_UseGeneric {
public static void main(String[] args) {
// 제너릭 타입은 객체를 만들 때 실제 자료형을 정해준다.
// Integer타입의 형태로 지정
Top3<Integer> t1 = new Top3<Integer>();
t1.setData(123);
Integer a = t1.getData();
System.out.println(a);
// String타입의 형태로 지정
Top3<String> t2 = new Top3<String>();
t2.setData("generic");
String b = t2.getData();
System.out.println(b);
}
}
/*
제너릭(Generic)
- 클래스나 메서드에서 사용할 자료형을 미리 정하지 않고,
객체를 생성할 때 원하는 타입으로 지정할 수 있는 기능
- 하나의 클래스로 여러 타입을 다룰 수 있어 코드 재사용성이 높아진다.
*/
3. ✅ 핵심 정리
- 클래스명 옆에 <>를 붙여 타입 파라미터를 선언한다.
- 객체 생성 시 <타입>을 지정하여 원하는 타입으로 사용할 수 있다.
- 한 번 타입을 지정하면 그 객체는 해당 타입만 사용할 수 있다.
→ 타입 안정성 보장 & 형변환 불필요