Generic이란

최성욱·2025년 3월 3일
0

Generic : 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타입으로 대체시키는 기능

Class,Interface에 제네릭 사용법

Class,Interface 뒤에 <타입>을 명시한다

public class Box <T>{
    public T content;

    public boolean compare(Box<T> other){
        return content.equals(other.content);
    }
}
public interface Rentable <P>{
    P rent();
}

메소드에 제네릭 사용법

Return 타입 앞에 <타입>을 명시하고 매개변수 혹은 리턴값으로 이용한다

public static <T> Box<T> boxing(T t){
        Box<T> box = new Box<>();
        box.setContent(t);
        return box;
    }

제한된 타입 파라미터

제네릭은 특정한 조건이 없으면 어떤 파라미터도 들어갈 수 있기 때문에 제한할 필요가 있을 경우에는 extends 키워드를 사용한다.

public static <T extends Number> boolean compare(T t1, T t2){
        double doubleValue1 = t1.doubleValue();
        double doubleValue2 = t2.doubleValue();
        return doubleValue1 == doubleValue2;
    }

다음 파라미터에는 Number와 상속관계인 파라미터만 들어올 수 있다

profile
성장을 지향하는 개발자

0개의 댓글