본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

Generics 제네릭 클래스의 객체 생성과 사용

제네릭스는 인스턴스별로 다르게 동작하도록 하려고 만든 기능이다.

과일클래스 Apple과 Grape가 있다고 가정하자.

// 과일 클래스
class Apple {
    private String type;

    public Apple(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }
}

class Grape {
    private String type;

    public Grape(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }
}

 

 

 

이때 제네릭클래스를 만들어 형이 어떻든 내용을 잘 반환하도록 할것이다.

// 제네릭 클래스 정의
class Box<T> {
    private T content;

    // 생성자
    public Box(T content) {
        this.content = content;
    }

    // 내용을 반환하는 메서드
    public T getContent() {
        return content;
    }
}

 

https://standout.tistory.com/1393

 

Generics 지네릭스, 형변환을 생략하다

Generics 지네릭스 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일시 타입체크를 해주는 기능 타입안정성을 제공하며 형변환을 생략할 수 있어 코드가 간결해진다. import java.util

standout.tistory.com

 

 

 

정의했던 제네릭클래스 메서드를 사용해 각각에 저장된값을 가져왔다.

Apple type: Red Apple
Grape type: Green Grape
public class FruitBoxExample {
    public static void main(String[] args) {
        // 제네릭 클래스의 객체 생성
        Box<Apple> appleBox = new Box<>(new Apple("Red Apple"));
        Box<Grape> grapeBox = new Box<>(new Grape("Green Grape"));

        // 제네릭 클래스의 객체 사용
        Apple apple = appleBox.getContent();
        Grape grape = grapeBox.getContent();

        // 출력
        System.out.println("Apple type: " + apple.getType());
        System.out.println("Grape type: " + grape.getType());
    }
}
Apple type: Red Apple
Grape type: Green Grape