본문 바로가기

TIL(Today I Learned)

[20230705 TIL] Generic 이란

Java에서의 Generic은 타입 매개변수(Type Parameter)를 사용하여 클래스나 메서드를 일반화하는 기능을 말한다. Generic은 다양한 타입에 대해 재사용 가능한 코드를 작성할 수 있도록 도와준다. 

다음은 Generic을 사용하여 ArrayList를 선언하는 예다:

```java
ArrayList<String> names = new ArrayList<String>();
```

위의 예에서 `<String>`은 타입 매개변수로, ArrayList가 저장할 요소의 타입을 지정하는 데 사용된다. 따라서 `names` 리스트는 문자열 타입의 요소를 저장하는 ArrayList로 선언된다. 이를 통해 컴파일러는 타입 일치 여부를 검사하고, 코드에서 안전하게 타입을 다룰 수 있도록 도와준다.

제네릭의 다형성 특징으로는, 

 

public class Box<T> {
    private T t;
 
    public T get() { return t; }
    public void set(T t) { this.t = t; }
}
Box<String> box = new Box<String>();

위와 같이 T타입 제네릭을 사용하면 형변환 위험 없이 원하는 타입의 객체를 생성할 수 있다. 


Generic(제네릭)의 장점

 

1. 제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할 수 있다.

2. 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. 즉, 관리하기가 편하다.

3. 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다.

 

 

palpit.tistory.com/665

 

[Java] 제네릭(Generic) - 제네릭 타입

제네릭은 여러 절로 구성되어 있습니다. Intro제네릭 타입멀티 타입 파라미터제네릭 메소드제한된 타입 파라미터 & 와일드카드 타입제네릭 타입의 상속과 구현 제네릭 타입(class, interface) 제네릭

palpit.tistory.com