본문 바로가기
기초 및 언어/▶ 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. ✅ 핵심 정리

  1. 클래스명 옆에 <>를 붙여 타입 파라미터를 선언한다.
  2. 객체 생성 시 <타입>을 지정하여 원하는 타입으로 사용할 수 있다.
  3. 한 번 타입을 지정하면 그 객체는 해당 타입만 사용할 수 있다.
    → 타입 안정성 보장 & 형변환 불필요

 

 

'기초 및 언어 > ▶ Java&JSP' 카테고리의 다른 글

31. ArrayList  (5) 2025.08.24
30. 컬렉션(Collection)  (0) 2025.08.24
28. Calendar, Date, SimpleDataFormat  (0) 2025.08.22
27. 패키지 - String  (3) 2025.08.22
26. 패키지 - Object  (0) 2025.08.22