Programming Language/Java

제네릭 클래스

DongHo 2023. 5. 17. 17:45

제네릭 클래스

- '일반적인' 이라는 의미로 하나의 코드로 여러 타입을 동시에 처리하는 기술입니다.
- 다양한 종류의 데이터를 처리할 수 있는 클래스와 메소드를 작성하는 기법입니다.
- 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