오전 12:57 2025-01-21
추가 필요
generic
제네릭은 모든 알파벳으로 지정할 수 있다
관습적으로 많이 사용하는 키워드
E: Element, 배열기반 구조에서 요소를 의미
T : 일반적인 Type
K : Key
V : Value
<k, v> : 제네릭은 여러 개 지정할 수 있다.</k, v>
: T를 구현 또는 상속하고 있는 타입이 제네릭으로 지정되어야 함
: T의 부모 또는 선조 타입 이어야 한다

Generic
- Java에서 제네릭(generic)이란 데이터의 타입을 일반화하는 것을 의미함
- 하나의 클래스에서 다양한 매개 자료형을 사용하고 싶은 경우에 사용함
- Template 자료 형태 (자료형 변수)
- 형식은 <자료형>
- <> 사이에는 반드시 Class가 들어가야 한다.
- 예시로, 정수형을 사용하고 싶다면 <int> - 불가, <Integer> - 가능
- int는 일반 자료형이고, Integer는 Wrapper Class이기 때문이다.
- 모든 클래스를 제네릭으로 선언할 수 있다.
(참고) int와 Integer의 차이
Wrapper Class에 대해서 언급한 적이 있다.
2024.12.30 - [Java/Java 문법] - Java 기본 문법 - Wrapper Class, String 메소드, 진수 변환
Java 기본 문법 - Wrapper Class, String 메소드, 진수 변환
public class MainClass { public static void main(String[] args) { /* wrapper class 일반 자료형(int, char, double...)을 클래스(기능추가)화 해 놓은 것 일반자료형 wrapper class byte Byte short Short int Integer long Long float Float dou
kungfugay.tistory.com
1. 기본형 vs. 참조형
int: Java의 기본 데이터 타입 중 하나로, 32비트 정수를 나타냅니다. 메모리에 직접 값을 저장합니다.
Integer: Java의 래퍼 클래스(Wrapper Class)로, 기본형 int를 객체로 감싸는 역할을 합니다. 객체이기 때문에 메모리에 참조가 저장됩니다.
2. null 값
int: 기본형이므로 null 값을 가질 수 없습니다. 항상 초기화되어야 하며 0이라는 기본값을 가집니다.
Integer: 객체이므로 null 값을 가질 수 있습니다. 이를 통해 값이 없음을 표현할 수 있습니다.
3. 사용 용도
int: 성능이 중요하고, 단순한 수치 연산이 필요할 때 사용합니다.
Integer: 컬렉션(예: ArrayList)과 같은 객체를 필요로 하는 곳에서 사용됩니다. 또한, 객체로서 메서드를 호출할 수 있습니다.
코드 예시
Class를 생성할 때 클래스명 옆에 <T> 라고 적어준다..
// T는 커스터마이징임. A, Area, 아무거나 써도 됨
class Box<T> {
T temp;
public Box (T temp) {
this.temp = temp;
}
public T getTemp() {
return temp;
}
public void setTemp(T temp) {
this.temp = temp;
}
}
제네릭 타입의 클래스 객체를 참조하는 인스턴스를 생성할 때
클래스명<자료형> 변수명 = new 클래스명<>(파라미터);
// 메인함수
Box<Integer> iBox = new Box<>(123);
System.out.println(iBox.getTemp());

'Java > Java 기본 문법' 카테고리의 다른 글
| final (1) | 2025.01.24 |
|---|---|
| [Java] 생성자(constructor) (0) | 2025.01.06 |
| [Java] this : 자기 자신을 가리키는 포인터 (0) | 2025.01.06 |
| [Java] 접근 지정자 (private, public, protected) (1) | 2025.01.06 |
| [Java] 예외 처리 (Exception, Try-Catch, throws) + 대표적인 예외 처리들 + 기초적인 포인터 개념 (2) | 2025.01.02 |