[TIL] 제네릭

정석·2024년 7월 30일

TIL

목록 보기
7/40
post-thumbnail

사용할 타입을 미리 결정하지 않고, 실제 사용하는 '생성' 시점에 타입을 결정한다.

코드를 작성하다보면, 같은 코드인데 자료형만 달라서 코드가 중복되는 경우가 존재하기도 하고

사용자에게 입력 받는 자료형을 다양하게 받고자 할 때가 있을 수도 있다.

이럴 때 제네릭을 활용하면 좋다!

  • 제네릭을 활용한 클래스
public abstract class Calculator<T extends Number> {
    private List<T> list;

    Calculator() {
        this.list = new ArrayList<>();
    }

    public abstract void calculate();

    public void inquiryResults() {
        for (T result : list) {
            System.out.println(result);
        }
    }

    public void removeResult() {
        list.remove(0);
    }

    public void addList(T result) {
        list.add(result);
    }

}

실제로 클래스를 정의할 때 자료형을 설정하지 않고 나중에 구현할 때 결정할 수 있도록 한다.

여기서 자료형을 Number 에 대한 자료형만 넣기 위해 Number 를 상속받게 하였다.

0개의 댓글