[java] 제네릭 클래스와 제네릭 메서드의 차이점

제네릭 프로그래밍은 자바에서 컴파일 시점에 타입 안전성을 보장하기 위한 방법을 제공합니다. 제네릭 클래스와 제네릭 메서드는 이러한 기능을 활용하여 코드의 유연성과 안정성을 높일 수 있습니다.

제네릭 클래스

제네릭 클래스는 클래스 내부에서 사용될 타입을 매개변수화하여 일반화된 클래스를 만들 수 있게 합니다. 이를 통해 코드의 재사용성을 높이고 타입 안전성을 확보할 수 있습니다.

아래는 간단한 제네릭 클래스의 예시입니다.

public class Box<T> {
    private T value;
    
    public void setValue(T value) {
        this.value = value;
    }
    
    public T getValue() {
        return value;
    }
}

제네릭 메서드

제네릭 메서드는 메서드 내에서 사용될 타입을 매개변수로 받아들이는 방법을 제공합니다. 이를 통해 특정 메서드가 여러 타입에 대해 동작할 수 있도록 만들 수 있습니다.

아래는 간단한 제네릭 메서드의 예시입니다.

public <T> boolean isEqual(Box<T> box1, Box<T> box2) {
    return box1.getValue().equals(box2.getValue());
}

결론

제네릭 클래스는 클래스 전체에 걸쳐 타입을 일반화하고, 제네릭 메서드는 특정 메서드에만 적용된다는 점이 그 차이점입니다. 이 둘을 적절히 활용하여 코드의 안정성과 유연성을 높일 수 있습니다.

참고 자료: 제네릭 클래스와 제네릭 메서드 차이