DevGang

[Java] 제네릭(Generic) 본문

Study/Java

[Java] 제네릭(Generic)

별천랑 2021. 4. 7. 19:36

제네릭이란?

  • 제네릭은 클래스에서 사용할 타입을 클래스 외부에서 설정하는 것
  • 제네릭 선언은  클래스 <사용할 타입>으로 합니다.
  • 제네릭의 타입으로는 참조형 데이터 타입만 설정 가능합니다.
class CustomStack<T> {
    
    List<T> customStack = new ArrayList<>();
    
    public void pop( T inputItem ) {
        customStack.add( inputItem );
    }
    
}
 
public class GenericEx_1 {
    
    public static void main(String[] args) {
        CustomStack<String> stringStack = new CustomStack();
        
        CustomStack<Integer> integerStack = new CustomStack();
    
        stringStack.pop( "홍길동" );
        
    }
    
}

 

stringStack.pop( "홍길동" ); 을 입력하고 컴파일합니다.

 

에러가 발생하지 않았습니다.

 

그러면 String이 아닌 int 타입을 넣어보겠습니다.

 

stringStack.pop(1004);을 입력하고 컴파일하니 에러가 발생했습니다.

 

이 처럼, 제네릭을 사용하면 클래스 내부에서 사용하는 데이터의 타입을 지정할 수 있고,

 

타입을 잘못 사용하여 발생하는 에러를 최소화할 수 있습니다.

'Study > Java' 카테고리의 다른 글

[Java] JVM(Java Virtual Machine)  (0) 2021.04.18
[Java] GC(Garbage Collection)  (0) 2021.04.18
[Java] JCF(Java Collections Framework)  (0) 2021.04.17
[Java] 자바 버전별 특징  (0) 2021.04.07
[Java] JVM, JRE, JDK  (0) 2021.04.07
Comments