제네릭 클래스
- '일반적인' 이라는 의미로 하나의 코드로 여러 타입을 동시에 처리하는 기술입니다.
- 다양한 종류의 데이터를 처리할 수 있는 클래스와 메소드를 작성하는 기법입니다.
- JDK 1.5부터 사용가능합니다.
- 클래스를 정의할 때 클래스 안에서 사용하는 자료형을 구체적으로 명시하지 않고 T와 같은 기호로 표시합니다.
- 이후 객체를 생성할 때 T자리에 구체적인 자료형을 적어줍니다.
타입 변수 표기법
- 제네릭 클래스는 여러개의 타입 매개 변수를 가질 수 있으나 타입의 이름은 클래스나 인터페이스 내에서 유일해야합니다.
- 한개의 대문자로 표시하는게 관례(변수의 이름과 구분하기 위해서)입니다.
- 타입 매개 변수는 기초 자료형으로 객체화될 수 없습니다.
Example
- E - Element(요소 : 자바 컬렉션 라이브러리에서 많이 나옵니다.)
- K - Key
- N - Number
- T - Type
- V - Value
- S, U, V 등등
Example Code
GetMethod.java
public class GetMethod {
public <T> void print(T[] item){
for(int i=0;i<item.length;i++){
System.out.println(item[i]);
}
}
public <T> T getLastItem(T[] item){
return item[item.length - 1];
}
}
GetMethodTest.java
public class GetMethodTest{
public static void main(String[] args){
GetMethod getMethod = ne GetMethod();
String[] lang = {"JAVA", "C++", "Python"};
Double[] values = {1.2, 2.4, 3.6};
getMethod.print(lang);
getMethod.print(values);
String lastItem = getMethod.getLastItem(lang);
System.out.println(lastItem);
}
}
GetMethodTest.java 파일은 위에 제네릭의 특성을 이용해 만든 파일(GetMethod.java)을 테스트하기 위한 파일입니다.
'Programming Language > Java' 카테고리의 다른 글
예외처리 (0) | 2023.05.18 |
---|---|
컬렉션(Collection)의 종류 및 장단점 (0) | 2023.05.18 |
Calendar 클래스 (0) | 2023.05.17 |
Date 클래스 (0) | 2023.05.17 |
Math 클래스 (0) | 2023.05.17 |