제네릭스

hashin·2023년 6월 26일

JAVA

목록 보기
19/19

제네릭스(Generics)는 타입을 일반화(generalize)하는 기능을 제공합니다. 제네릭스를 사용하면 코드의 재사용성과 타입 안정성을 향상시킬 수 있습니다.

제네릭스는 클래스, 인터페이스, 메서드에서 사용할 수 있으며, 타입 매개변수(Type Parameter)를 통해 타입을 일반화합니다. 타입 매개변수는 일반적으로 대문자로 표기하며, 실제 사용될 때 구체적인 타입으로 대체됩니다.

예를 들어, 다음과 같이 제네릭 클래스를 정의할 수 있습니다

public class Box<T> {
    private T content;

    public T getContent() {
        return content;
    }

    public void setContent(T content) {
        this.content = content;
    }
}

위의 예제에서 Box 클래스는 타입 매개변수 T를 가지고 있습니다. T는 클래스 내에서 사용될 때 실제 타입으로 대체되며, content 필드와 해당 필드를 조작하는 메서드에서 사용됩니다. 이렇게 하면 Box 클래스는 임의의 타입에 대해 작동할 수 있습니다.

제네릭 타입은 다양한 장점을 제공합니다. 일반적인 장점은 다음과 같습니다

  1. 타입 안정성(Type Safety): 제네릭을 사용하면 컴파일러가 타입 체크를 수행하므로, 잘못된 타입으로 인한 런타임 오류를 미리 방지할 수 있습니다.
  2. 재사용성(Reusability): 제네릭 클래스나 메서드는 다양한 타입에 대해 작동할 수 있으므로, 코드의 재사용성이 높아집니다.
  3. 코드 간결성(Conciseness): 제네릭을 사용하면 타입 변환을 수동으로 처리하는 번거로움을 줄일 수 있으며, 코드가 더 간결해집니다.

제네릭스를 사용하면 컬렉션 라이브러리(Collection Frameworks)를 비롯한 많은 자바 API에서 제공하는 유연하고 타입 안전한 기능을 활용할 수 있습니다. 또한, 사용자 정의 클래스나 메서드에서도 제네릭을 활용하여 타입 일반화를 적용할 수 있습니다.

0개의 댓글