JAVA #4 - 제너릭

김형우·2022년 2월 23일
0

JAVA

목록 보기
4/12

class - 제너릭

  • class 내부에서 타입을 정의하면 App.java에서나 어디서든 바꿀 수 없고 바꾸고싶다면 새 class를 만들어야 하기 때문에 정의하지 않은 임의의 타입 E를 만들어서 사용할때마다 다꾼다.

1. com/example/basic/Exam1.java

  1. 타입을 정하지 않는 class
  • public class 클래스명<임의의타입> { }
    = public class Exam1<E> { }
  1. 타입이 없는 변수를 만듦
  • private E name = null;
    : 타입이 없음 => 사용되는곳(App.java)에서 타입을 정할것임
  1. getter/setter 만들기
  • name값 가져가기
    : public E getData() { return this.name; }
  • name을 변경하기
    : public void setData(E na) { this.name = na; }
package com.example.basic;

// 제너릭
public class Exam1<E> {
    private int num = 0; // 숫자형
    private E name = null; // 타입이 없음 => 사용되는곳에서 타입을 정할것임

    // name을 변경하기
    public void setData(E na) {
        this.name = na;
    }

    // name값 가져가기
    public E getData() {
        return this.name;
    }
}

2. App.java

  1. Exam1.java 가져오기 import
  • 가져오면서 타입 정의
    : Exam1<Integer> obj = new Exam1<Integer>();
    = E의 타입을 Integer(숫자)로 정의함.
    = 변수명은 obj

  • obj의 값을 바꿈
    : obj.setData(13);

  • 프린트
    : System.out.println(obj.getData());

public class App {
    public static void main(String[] args) {
        // 클래스 객체명 = new 클래스();
        // Integer, String, Float 등
        Exam1<Integer> obj = new Exam1<Integer>();
        obj.setData(13);

        System.out.println(obj.getData());

    }
}
profile
The best

0개의 댓글