제네릭
결정되지 않은 타입을 파라미터로 처리하고,
실제 사용할 때 파라미터의 구체적인 타입으로 대체 시키는 기능
- 타입 파라미터는 일반적으로 대문자 알파벳 한 글자로 표현한다 - 보통은 T부터 해서 순서대로 사용
- Java 5부터 새로 추가됨
class Person<T>{
public T info;
}
T라는 데이터 타입을 결정하지 않고 있다가
Person<String> p1 = new Person<String>();
Person을 인스턴스화할 때 String으로 사용하겠다..!
: info의 데이터 타입은 String
: p1의 데이터 타입은 String
Person<StringBuilder> p2 = new Person<StringBuilder>();
Person을 인스턴스화할 때 StringBuilder으로 사용하겠다..!
: info의 데이터 타입은 StringBuilder
: p2의 데이터 타입은 StringBuilder
제네릭 사용 이유
- 컴파일 시점에서 타입 안정성을 보장할 수 있음
- 형 변환을 줄여 코드의 가독성을 높일 수 있음
- 제네릭 타입을 사용하여 여러 종류의 객체를 다룰 수 있는 유연한 코드를 작성할 수 있음
💡컴파일
어떤 언어의 코드 전체를 다른 언어로 바꿔주는 과정
: 고급언어로 작성된 소스 파일을 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계어로 변환해 주는 과정
제네릭의 특성
- 기본 데이터 타입 사용할 수 없음 - 레퍼(wrapper) 데이터 타입으로 사용하면 됨
- Integer, Byte, Short, Long, Float, Doble.Chatacher, Boolean
- 제네릭의 생략
'JAVA' 카테고리의 다른 글
[Java] String 문자열 타입 (0) | 2024.05.04 |
---|---|
[Java] 데이터 타입 분류 (0) | 2024.05.04 |
[Java] 예외 Exception (0) | 2024.05.04 |
[Java] 확장 for 문 (0) | 2024.05.04 |
[Java] 상수와 enum (0) | 2024.05.04 |