Java Generic

Logan·2023년 9월 7일
0

제네릭이란 뭔가(Generic)

정적 타입을 지향하는 프로그램 언어에서 제네릭이라고 하면 클래스나 함수(메소드) 등에서 미리 정해진 타입이 아닌 사용자가 원하는 타입을 넣어서 사용할 수 있는 방법이라 할 수 있다.
이미 많은 컨터이너들(List, Set, Map 등)이 이런 방식으로 구현되어 있다.
Java 에서 이를 어떻게 사용하는 지 간단히 알아보자.

클래스

// Foo.java
package com.demo;

class Foo<T> {
	private T myData;
    
    public T getMyData() {
    	return myData;
    }
    
    public void setMyData(T data) {
    	myData = data;
    }
}    

Foo<T> 에서 <T> 부분이 제네릭을 정의하는 부분이다. 사용자가 이 제네릭을 사용할 때 <T> 부분을 원하는 타입으로 넣어서 사용하면 된다.

아래 처럼 사용하면 된다.

// main.java

package com.demo;

public class Main {
    public static void main(String[] args) {
        Foo<Integer> foo = new Foo<Integer>();
        foo.setMyData(100);
        System.out.println(foo.getMyData());

    }
}
  • T 대신에 원하는 타입을 넣어서 사용하면 끝이다.
  • 실제로 해당 타입(위에서는 Integer) 로 치환된다.

0개의 댓글