본문 바로가기

Develop/JAVA

[JAVA] 제네릭 타입

반응형

제네릭 타입이란

제네릭 타입은 Java에서 타입 안정성(type safety)과 재사용성(reusability)을 높이기 위해 도입된 기능입니다. 제네릭은 클래스, 인터페이스, 메서드 등에서 타입을 파라미터화하여 여러 종류의 실제 타입을 지원하는 일반화된 코드를 작성할 수 있게 합니다.

일반적으로 제네릭은 "<>" 기호를 사용하여 선언됩니다. 이 기호 안에 타입 파라미터가 위치하며, 해당 파라미터는 실제 사용할 타입으로 대체됩니다. 제네릭 타입을 사용하면 컴파일러는 타입 체크를 수행하고 컴파일 시에 타입 안정성을 보장할 수 있습니다.

 

제네릭 타입의 주요 이점은 다음과 같습니다

1. 타입 안정성(Type Safety): 제네릭은 컴파일 시에 타입 체크를 수행하므로 런타임에 타입 관련 오류가 발생할 확률을 줄여줍니다. 잘못된 타입으로 인한 예외를 미리 방지할 수 있습니다.

2. 재사용성(Reusability): 제네릭을 사용하면 여러 종류의 타입에 대해 동일한 코드를 재사용할 수 있습니다. 타입 파라미터를 통해 일반화된 코드를 작성하고, 실제 사용할 타입에 대해 인스턴스화하여 재사용할 수 있습니다.

3. 코드 간결성과 가독성: 제네릭을 사용하면 타입 변환을 명시적으로 수행하지 않아도 됩니다. 이로 인해 코드가 더 간결하고 가독성이 향상됩니다.

 

사용 예시

제네릭 타입은 주로 컬렉션 클래스, 제네릭 인터페이스, 제네릭 메서드 등에서 사용됩니다. 예를 들어, `ArrayList<E>`는 요소의 타입을 `E`로 파라미터화한 제네릭 클래스입니다. `E`는 실제 사용할 타입으로 대체되어 `ArrayList`의 인스턴스가 여러 종류의 요소를 담을 수 있게 합니다.

아래는 `ArrayList`의 제네릭 타입을 사용하는 예제 코드입니다:

ArrayList<String> stringList = new ArrayList<String>();
stringList.add("Hello");
stringList.add("World");
String firstElement = stringList.get(0);


위의 예제에서 `ArrayList<String>`은 `String` 타입 요소를 담을 수 있는 제네릭 타입으로 선언되었습니다. 이를 통해 `stringList`는 `String` 타입의 요소만을 담을 수 있게 됩니다.

반응형

'Develop > JAVA' 카테고리의 다른 글

[JAVA] 정적 변수와 정적 메서드  (0) 2023.07.06
[JAVA] 변수 종류  (0) 2023.07.06