티스토리 뷰

Java

자바 - 제네릭, 제네릭 타입

Kodong's blog 2025. 8. 8. 11:30

백엔드 애플리케이션을 만드는 도중, 유효성 검사를 위한 매서드를 만들기 위해 제네릭 타입 문법을 사용하게 되어, 제네릭 타입 문법을 정리해보려고 한다. 

 

■ 제네릭이란? 

▶ "데이터의 타입을 일반화(범용화)해서, 여러 타입에 재사용할 수 있게 만든 문법"

즉, 코드를 짤 때 정확한 타입을 미리 정하지 않고, 나중에 사용할 때 타입을 지정해서 유연하게 사용할 수 있도록 만든 문법이다.

 

우리가 int, String, double... 이런 타입들을 일일이 다 따로 만들면 귀찮을 것이다. 이때 제네릭은 '타입'을 일단 변수처럼 받아서,
나중에 사용할 때 구체적인 타입을 지정하는 것이다. 

 

예시 - ) 클래스에서 사용;

class Box<T> {

    private T item;

    public void set(T item) { 
    this.item = item; 
    }
    
    public T get() { 
    return item;
    }
    
}
Box<String> stringBox = new Box<>();
stringBox.set("Hello"); // T는 String으로 동작;

Box<Integer> intBox = new Box<>();
intBox.set(123); // T는 Integer로 동작;

 

 

 

예시 - 2 ) 매서드에서 사용 ( 위 클래스(Box) 내부에 선언한 경우 )

public <T> void print(T value) {
    System.out.println(value);
}

 

● public <T>: 제네릭 타입 T를 메서드에서 사용하겠다고 선언 ( 이 메서드 안에서만 T를 제네릭으로 선언 )

● print(T value): 어떤 타입이든 받을 수 있음!! ( 즉, 이 메서드는 무엇이든지 받아서 출력할 수 있는 매서드임!! )

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함