[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
인터페이스는 K
와 V
라는 타입 파라미터를 가지고 있습니다. 이를 통해 구현 클래스에서 다양한 타입의 키와 값의 쌍을 다룰 수 있습니다.
제네릭을 사용하면 컴파일러가 타입 안정성을 검증하고 형변환 오류를 방지해줍니다. 따라서 코드의 신뢰성을 높이고 유지보수를 쉽게 만들어줍니다.
결론
제네릭 클래스와 제네릭 인터페이스를 사용하면 다양한 타입을 다룰 수 있는 범용적인 코드를 작성할 수 있습니다. 이를 통해 코드의 안정성을 유지하고 재사용성을 높일 수 있습니다.
Oracle 자바 공식 문서를 참고하면 더 자세한 정보를 얻을 수 있습니다.