[JAVA] Generic Type

2024. 3. 28. 14:25·JAVA

제네릭에서 T는 타입 매개변수(Type Parameter)로 사용된다. 이것은 제네릭 클래스나 메서드가 실제로 사용될 때 구체적인 타입으로 대체되는 것을 나타낸다. GenericType<T>에서 T는 어떤 타입이든 될 수 있다.

class Box<T> {
    private T item;

    public void setItem(T item) {
        this.item = item;
    }

    public T getItem() {
        return item;
    }
}

public class Main {
    public static void main(String[] args) {
        // Box 클래스에 대한 인스턴스를 생성하고 정수를 저장
        Box<Integer> integerBox = new Box<>();
        integerBox.setItem(10);

        // Box 클래스에 대한 인스턴스를 생성하고 문자열을 저장
        Box<String> stringBox = new Box<>();
        stringBox.setItem("Hello");

        // 저장된 아이템을 출력
        System.out.println("Integer Item: " + integerBox.getItem());
        System.out.println("String Item: " + stringBox.getItem());
    }
}

Box 클래스는 제네릭으로 정의되어 있으며, T는 어떤 타입이든 될 수 있다. setItem() 메서드는 제네릭 타입 T의 아이템을 설정하고, getItem() 메서드는 설정된 아이템을 반환한다.

main() 메서드에서는 Box 클래스의 인스턴스를 생성할 때 각각 다른 타입을 지정하여 사용한다. Box<Integer>는 정수를 저장하고, Box<String>은 문자열을 저장한다.

이를 통해 제네릭을 사용하면 클래스나 메서드를 특정 타입에 제한하지 않고 여러 타입에서 재사용할 수 있으며, 타입 안정성을 보장할 수 있다.

 
 
 
저작자표시 (새창열림)

'JAVA' 카테고리의 다른 글

[JAVA] Lambda  (0) 2024.04.01
[JAVA] Anonymous Inner Class  (0) 2024.03.27
[JAVA] Inner Class와 Outer Class  (0) 2024.03.27
[JAVA] Interface  (0) 2024.03.27
[JAVA] Abstract 예제  (0) 2024.03.26
'JAVA' 카테고리의 다른 글
  • [JAVA] Lambda
  • [JAVA] Anonymous Inner Class
  • [JAVA] Inner Class와 Outer Class
  • [JAVA] Interface
kwh_coding
kwh_coding
성장하는 괴물 성괴 김우형
  • kwh_coding
    코딩 일기
    kwh_coding
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • ERP Project
      • NAVER CLOUD Web DevOps
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
  • 블로그 메뉴

    • 홈
    • GitHub
    • Notion
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    eGov
    RDBMS
    코딩
    AdSP
    annotation
    Tomcat
    정보처리기사
    CORS
    web
    private network
    github
    django
    jsp
    git
    Java
    gitbash
    React
    SQLD
    Postman
    코딩테스트
    javascript
    해시 암호화
    html
    코테
    프로그래머스
    spring
    brycpt
    node
    js
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kwh_coding
[JAVA] Generic Type
상단으로

티스토리툴바