Java/Java이론

제네릭

P_eli 2023. 11. 4. 15:03
728x90
반응형

제네릭이란?

제네릭은 자바에서 타입을 일반화하는 메커니즘입니다. 즉, 코드를 작성할 때 구체적인 데이터 타입 대신, 추상적인 데이터 타입을 사용하여 유연성과 안정성을 확보할 수 있습니다.

왜 제네릭을 사용해야 할까?

  1. 타입 안정성 (Type Safety): 제네릭을 사용하면 컴파일러가 코드를 검사하여 잘못된 데이터 타입을 사용하는 오류를 사전에 방지할 수 있습니다.
  2. 재사용성 (Reusability): 제네릭을 사용하면 여러 데이터 타입에 대해 동일한 코드를 사용할 수 있으므로 코드의 재사용성이 향상됩니다.
  3. 가독성 (Readability): 코드가 더 명확하고 가독성이 좋아지므로 코드 유지보수가 쉬워집니다.

제네릭 클래스와 메서드

자바에서는 클래스와 메서드에 제네릭을 적용할 수 있습니다.

제네릭 클래스

public class Box<T> {
    private T value;

    public Box(T value) {
        this.value = value;
    }

    public T getValue() {
        return value;
    }
}

 

위의 예제에서 Box 클래스는 T라는 타입 파라미터를 가지고 있습니다. 이 T는 실제 사용 시에 구체적인 데이터 타입으로 대체됩니다.

제네릭 메서드

public <T> T getFirstElement(List<T> list) {
    if (list.isEmpty()) {
        return null;
    }
    return list.get(0);
}

 

위의 예제에서 getFirstElement 메서드는 <T>라는 타입 파라미터를 가지고 있으며, 이 메서드를 호출할 때 실제 데이터 타입을 지정합니다.

제네릭 사용 예제

public static void main(String[] args) {
    Box<Integer> intBox = new Box<>(42);
    Box<String> strBox = new Box<>("Hello, Generics!");

    System.out.println("Integer Box Value: " + intBox.getValue());
    System.out.println("String Box Value: " + strBox.getValue());
}

 

제네릭은 자바에서 강력한 타입 안전성과 코드 재사용성을 제공하며, 복잡한 데이터 구조나 알고리즘을 개발할 때 매우 유용합니다.

 

핵심 요약

  1. 재네릭은 클래스, 메서드에서 사용할 자료형을 나중에 확정하는 기법입니다.
  2. 제네릭을 사용할 때는 객체 생성 시 결정이 되는 자료형의 정보를 T로 대체합니다. 그리고 다이아몬드 연산자 <>를 통해 자료형을     전달합니다.
728x90
반응형