제너릭
자바에서 클래스나 메서드가 사용할 데이터 타입을 미리 지정하지 않고, 나중에 사용할 때 타입을 지정할 수 있도록 하는 기능
제너릭을 사용하는 이유
타입 안전성
제너릭을 사용하면 컴파일 시점에 타입 체크가 이루어진다. 이를 통해 잘못된 타입의 데이터를 사용하는 것을 방지할 수 있으며 런타임에서 발생할 수 있는 ClassCastException 같은 오류를 예방할 수 있다.
코드 재사용성
제너릭을 사용하면 다양한 데이터 타입에 대해 하나의 코드로 처리할 수 있으므로 코드의 재사용성을 높일 수 있다. 예를 들어 Integer나 String 같은 다른 타입을 처리하는 로직을 따로 만들 필요 없이 제너릭을 사용하면 하나의 로직으로 처리할 수 있다.
Generic 메서드 사용 배열 출력 예제
public class GenericsTest_01 {
public static void main(String[] args) {
// 정수형, 실수형, 문자열 배열 선언
Integer[] intArray = {10,20,30,40,50};
Double[] dblArray = {12.1,22.2,32.3,42.4,52.5,62.6};
String[] strArray = {"환","영","합","니","다","."};
prtArray(intArray);
prtArray(dblArray);
prtArray(strArray);
}
// 메소드로 전달되는 정수형, 실수형, 문자열형 배열에 따라서 결과를 출력하는 경우
public static <T> void prtArray(T[] trsArray) {
// 배열 요소들 출력
for (T s : trsArray)
System.out.printf("%s ",s);
System.out.println();
}
}
Generic 메서드 사용 객체 복사 예제
public static <T> void copyArray (T[] source, T[] target){
for (int i = 0; i < source.length; i++) {
target[i] = source[i];
}
}
Generic 메서드 사용 최솟값 구하기 예제
public static <T extends Comparable <T>> T minimum(T w, T x, T y, T z) {
T min = w;
if(x.compareTo(min) < 0 )
min = x;
if(y.compareTo(min) < 0 )
min = y;
if(z.compareTo(min) < 0 )
min = z;
return min;
}
'JAVA > 기초공부' 카테고리의 다른 글
[JAVA] 컬렉션 (Collections) (9) | 2024.10.13 |
---|---|
[JAVA] java.util 패키지 내의 주요 클래스 (3) | 2024.10.13 |
[JAVA] java.lang 패키지 내의 주요 클래스들 (1) | 2024.10.13 |
[JAVA] 예외처리 (0) | 2024.10.13 |
[JAVA] 인터페이스 (Interfaces) (1) | 2024.10.09 |