티스토리 뷰
■ 제네릭이란?
▶ 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 문법이다.
ArrayList<String> list = new ArrayList<>();
자바에서 자주 쓰는 구문이다.
여기에 있는 <> (꺾쇠 괄호 )가 바로 제네릭이다. 이 괄호 안에는 타입명을 기재한다(여기서는 String이다 ).
그리고, 이 <> (꺾쇠 괄호)를 "다이아몬드 연산자"라고 한다.
● 제네릭 타입 매개변수
다이아몬드 연산자(<>)에 식별자를 넣어 이를 파라미터화할 수 있다(타입 매개변수).
타입 매개변수는 제네릭을 이용한 클래스나 메소드를 설계할 때 사용된다.
예제를 살펴보자)
class FruitBox<T> {
List<T> fruits = new ArrayList<>();
public void add(T fruit) {
fruits.add(fruit);
}
}
// 제네릭 타입 매개변수에 문자열 타입을 할당
FruitBox<String> intBox = new FruitBox<>();
// 클래스도 넣어줄 수 있다. (Apple 클래스가 있다고 가정)
FruitBox<Apple> intBox = new FruitBox<Apple>();
이런식으로 사용할 수 있다.
또,
제네릭에서 할당 받을 수 있는 타입은 Reference 타입 뿐이다. 즉, int형 이나 double형 같은 자바 원시 타입(Primitive Type)을 제네릭 타입 파라미터로 넘길 수 없다는 말이다.
더 자세한 내용은 이 문법을 실제 프로젝트를 사용하면서 만났을 때 다시 와서 추가정리하도록 하겠다.
+) (20251013)
추가적인 설명을 하자면,
우리가 String 타입의 ArrayList를 만들고 싶을때는,
List<String> arrayList = new ArrayList<>(); 이렇게 선언하는데,
이것도 어떻게 보면 ArrayList 클래스를 만들때, 받는 매개변수에 <T> 형식을 사용하였기 때문에 우리가 제네릭(<>)에 타입을 명시해주어야 하는것이다.
참고 ↓ )
https://inpa.tistory.com/entry/JAVA-☕-제네릭Generics-개념-문법-정복하기
-----------------------------------
'Java' 카테고리의 다른 글
| 자바 - 스코프 (1) | 2025.08.31 |
|---|---|
| 프로그램의 오류 종류 - 컴파일 오류, 런타임 오류 - Checked, Uncheck Exception, Error (15) | 2025.08.31 |
| 자바 - 업캐스팅/다운캐스팅 (3) | 2025.08.29 |
| 자바 - 참조형 타입에 대한 심화적 이해 (2) | 2025.08.29 |
| 자바 - enhanced for statement ( 향상된 for 문 ) (0) | 2025.08.28 |