자바에서의 제네릭스(Generics)는 타입 안전성을 제공하기 위한 프로그래밍 기법입니다. 제네릭스를 사용하면 컴파일러가 코드에 대한 강력한 타입 체크를 수행하게 되어, 실행 중에 발생할 수 있는 타입 관련 오류를 미리 방지할 수 있습니다. 이를 통해 코드의 안정성과 가독성을 향상시킬 수 있습니다.
제네릭 클래스와 인터페이스
1. 제네릭 클래스 (Generic Class)
클래스를 선언할 때, 타입 파라미터를 사용하여 클래스 내부에서 사용될 타입을 지정합니다.
예를 들어, Box<T>는 어떤 타입의 객체도 담을 수 있는 상자를 나타냅니다.
public class Box<T> {
private T value;
public void setValue(T value) {
this.value = value;
}
public T getValue() {
return value;
}
}
2. 제네릭 메서드 (Generic Method)
메서드를 선언할 때, 타입 파라미터를 사용하여 메서드 내부에서 사용될 타입을 지정할 수 있습니다.
public class GenericMethods {
public <T> void printValue(T value) {
System.out.println("Value: " + value);
}
}
제네릭의 이점
1. 타입 안전성 (Type Safety)
컴파일러가 제네릭 코드에 대해 타입 체크를 수행하므로, 실행 중에 발생할 수 있는 타입 관련 오류를 방지합니다.
2. 코드의 재사용성
제네릭을 사용하면 여러 종류의 데이터 타입에 대해 동일한 코드를 사용할 수 있어 재사용성이 높아집니다.
3. 성능 개선
일반적으로 제네릭은 실행 시간에 형 변환을 수행하지 않기 때문에 성능을 향상시킬 수 있습니다.
제네릭의 예제
public class GenericExample {
public static void main(String[] args) {
// 제네릭 클래스 사용
Box<String> stringBox = new Box<>();
stringBox.setValue("Hello, Generics!");
System.out.println("String Value: " + stringBox.getValue());
Box<Integer> intBox = new Box<>();
intBox.setValue(42);
System.out.println("Integer Value: " + intBox.getValue());
// 제네릭 메서드 사용
GenericMethods genericMethods = new GenericMethods();
genericMethods.printValue("Generic Method Example");
genericMethods.printValue(123);
}
}
위의 예제에서 Box 클래스와 GenericMethods 클래스는 제네릭을 사용하여 다양한 타입에 대해 작동할 수 있습니다. 이를 통해 코드의 유연성과 안정성이 증가합니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 제네릭 클래스의 객체 생성과 사용 (0) | 2023.11.19 |
---|---|
자바 제네릭 클래스의 선언 (0) | 2023.11.19 |
자바 컬렉션 프레임워크 Collections (0) | 2023.11.19 |
자바 컬렉션 프레임워크 Properties (0) | 2023.11.19 |
자바 컬렉션 프레임워크 TreeMap (0) | 2023.11.19 |