[java] 제네릭 클래스와 제네릭 인터페이스

제네릭은 Java에서 타입을 파라미터로 사용할 수 있게 하는 강력한 도구입니다. 제네릭을 사용하면 컴파일 시간에 강력한 타입 체크를 할 수 있고, 런타임 시에 형변환 오류를 방지할 수 있습니다.

제네릭 클래스

제네릭 클래스는 클래스 선언 시에 타입 파라미터를 사용하여 다양한 타입의 객체를 다룰 수 있도록 합니다.

예를 들어, 다음은 제네릭 클래스의 예시입니다.

public class Box<T> {
    private T value;

    public void setValue(T value) {
        this.value = value;
    }

    public T getValue() {
        return value;
    }
}

위의 Box 클래스는 T라는 타입 파라미터를 가집니다. 이를 통해 Box 클래스를 생성할 때 다양한 타입의 값을 다룰 수 있습니다.

제네릭 인터페이스

제네릭 인터페이스는 인터페이스에도 타입 파라미터를 추가할 수 있도록 합니다.

예를 들어, 다음은 제네릭 인터페이스의 예시입니다.

public interface Pair<K, V> {
    K getKey();
    V getValue();
}

위의 Pair 인터페이스는 KV라는 타입 파라미터를 가지고 있습니다. 이를 통해 구현 클래스에서 다양한 타입의 키와 값의 쌍을 다룰 수 있습니다.

제네릭을 사용하면 컴파일러가 타입 안정성을 검증하고 형변환 오류를 방지해줍니다. 따라서 코드의 신뢰성을 높이고 유지보수를 쉽게 만들어줍니다.

결론

제네릭 클래스와 제네릭 인터페이스를 사용하면 다양한 타입을 다룰 수 있는 범용적인 코드를 작성할 수 있습니다. 이를 통해 코드의 안정성을 유지하고 재사용성을 높일 수 있습니다.

Oracle 자바 공식 문서를 참고하면 더 자세한 정보를 얻을 수 있습니다.