Java/Java이론
제네릭
P_eli
2023. 11. 4. 15:03
728x90
반응형
제네릭이란?
제네릭은 자바에서 타입을 일반화하는 메커니즘입니다. 즉, 코드를 작성할 때 구체적인 데이터 타입 대신, 추상적인 데이터 타입을 사용하여 유연성과 안정성을 확보할 수 있습니다.
왜 제네릭을 사용해야 할까?
- 타입 안정성 (Type Safety): 제네릭을 사용하면 컴파일러가 코드를 검사하여 잘못된 데이터 타입을 사용하는 오류를 사전에 방지할 수 있습니다.
- 재사용성 (Reusability): 제네릭을 사용하면 여러 데이터 타입에 대해 동일한 코드를 사용할 수 있으므로 코드의 재사용성이 향상됩니다.
- 가독성 (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());
}
제네릭은 자바에서 강력한 타입 안전성과 코드 재사용성을 제공하며, 복잡한 데이터 구조나 알고리즘을 개발할 때 매우 유용합니다.
핵심 요약
- 재네릭은 클래스, 메서드에서 사용할 자료형을 나중에 확정하는 기법입니다.
- 제네릭을 사용할 때는 객체 생성 시 결정이 되는 자료형의 정보를 T로 대체합니다. 그리고 다이아몬드 연산자 <>를 통해 자료형을 전달합니다.
728x90
반응형