개발하는 체대생

제네릭이란? 본문

취업스터디

제네릭이란?

개발하는체대생
질문 : 제네릭에 대해서 설명하고, 컬렉션 클래스에서 왜 제네릭을 사용하는 지 설명해주세요.

답변 : 제네릭은 자바에서 특정 타입을 파라미터로 가지는 클래스와 인터페이스를 의미합니다. 제네릭을 사용하면, 타입 안정성을 보장할 수 있으며, 컴파일 시에 타입 체크를 수행하기 때문에 컴파일 오류를 사전에 방지할 수 있습니다.
컬렉션 클래스에서 제네릭을 사용하는 이유는, 다양한 타입의 객체를 저장할 수 있는 컬렉션 클래스를 만들기 위해서입니다. 예를 들어, ArrayList 클래스에서는 제네릭을 사용하여 ArrayList<String>과 같이 특정 타입의 문자열만을 저장하는 리스트를 생성할 수 있습니다. 이렇게 함으로써, 컴파일 시에 타입 체크를 수행하여 컴파일 오류를 사전에 방지할 수 있으며, 런타임 시에 잘못된 타입의 객체가 저장되는 경우를 방지할 수 있습니다. 또한, 제네릭을 사용하면, 타입 캐스팅을 하지 않아도 되므로 코드의 가독성을 높일 수 있습니다.

제네릭이란?

제네릭에 대해서 간단히 정의하자면 "컴파일 시 타입을 체크해주는 기능"과 "타입을 파라메터화 하여 컴파일 시 구체적인 타입이 결정되게 하는 것"이라고 정의할 수 있습니다.

public class Test<T> {
    // T를 사용하는 필드와 메서드 등의 멤버 선언
}

 

제네릭의 장점

타입 안정성 보장: 제네릭을 사용하여 컴파일 시에 타입 체크를 수행하므로 런타임에 ClassCastException과 같은 예외를 줄일 수 있습니다.

 

코드 재사용성: 제네릭은 여러 타입에 대해 동작하는 일반적인 알고리즘을 작성할 수 있게 합니다.

 

코드 가독성 향상: 제네릭을 사용하면 타입을 명시적으로 지정할 수 있으므로 코드의 가독성이 향상됩니다.

 

제네릭의 용어

타입 매개변수: 클래스나 인터페이스를 선언할 때 사용하는 파라미터로, 이름은 보통 대문자 한 글자로 작성합니다.

 

제네릭 타입: 타입 매개변수를 포함하는 클래스나 인터페이스를 의미합니다.

 

실제 타입 매개변수: 제네릭 타입을 사용할 때 실제로 지정하는 타입을 의미합니다.

 

와일드 카드: 제네릭 타입에서 일부 타입을 모르는 경우, ?를 사용하여 표현합니다.

 

결론

제네릭의 사용하면 클래스나 메서드에서 사용하는 객체의 타입을 유영하게 변경할 수 있기 때문에 다양한 타입의 객체를 사용할 수 있고 이를 통해서 코드의 재사용성과 유지보수성을 향상시킬 수 있다는 장점이 있습니다.

 

'취업스터디' 카테고리의 다른 글

Parameter(매개변수)와 Argument(인자)  (0) 2023.03.30
자료구조 List, Set, Map, HashMap  (0) 2023.03.30
MSA(Micro Service Architecture)란?  (0) 2023.03.29
DB에서 Index란?  (0) 2023.03.28
DI(Dependency Injection)란?  (0) 2023.03.28
Comments