[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
whkim98
whkim98
꾸준히 내 것으로 만드는 게시글을 작성하자
  • whkim98
    내 일기장
    whkim98
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • Project
        • Insty
        • ERP
      • Cloud
        • NAVER CLOUD Web DevOps
        • Public
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
        • 리눅스마스터
        • AWS
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
  • 블로그 메뉴

    • 홈
    • GitHub
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바