Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

붓, 그리다

제너릭의 종류 1) Class 클래스명<T>{} 본문

JAVA/Basic

제너릭의 종류 1) Class 클래스명<T>{}

붓그린 2017. 6. 20. 11:15
3.제너릭의 종류

1) Class 클래스명<T>{}
- 자료형이 Object인 대신 사용하는 키워드 T(Type)
- 어떠한 자료형도 다 수용해주겠다는 표시

EX) 제너릭이 적용되는 클래스 작성

package j0620;

import static java.lang.System.out;

// 제너릭이 적용이 되는 클래스 작성 -> 특정 자료형의 값을 입력받아서 저장,조회,계산
public class GenericEX<T> {

        String [] v;

        // 1) v배열에 값을 저장시켜주는 메소드(Setter)
        public void set(String [] n) {
                v=n; //this.v=n;
        }

        // 2) v배열의 값을 꺼내서 화면에 출력(단순, 반복)
        public void print() {
                for(String s:v)
                        out.println(s);
        }

}


EX2) 외부 배열의 자료형에 상관없이 항상 적용이 되는 클래스 만들기

package j0620;

import static java.lang.System.out;

// 제너릭이 적용이 되는 클래스 작성 -> 특정 자료형의 값을 입력받아서 저장,조회,계산
// 외부 배열의 자료형에 상관없이 항상 적용이 되는 클래스 만들기
public class GenericEX<T> {

        //String [] v;
        T [] v;

        // 1) v배열에 값을 저장시켜주는 메소드(Setter)
        public void set(T [] n) {
                v=n; //this.v=n;
        }

        // 2) v배열의 값을 꺼내서 화면에 출력(단순, 반복)
        public void print() {
                for(T s:v)
                        out.println(s);
        }

}

EX3) 자료형만 다르고 비슷한 기능을 가진 메서드를 호출

package j0620;
// 자료형만 다르고 비슷한 기능을 가진 메서드를 호출
public class GenericExMain {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                GenericEX <String>ge=new GenericEX<String>();
                GenericEX <Integer>ge2=new GenericEX<Integer>();
                GenericEX <Double>ge3=new GenericEX<Double>();
                String ss[]= {"제너릭", "제너릭 종류", "제너릭 적용연습"};
                Integer ss2[]= {1,2,3};
                Double ss3[]= {1.9, 3.4, 23.4};
                ge.set(ss);
                ge.print();
                ge2.set(ss2);
                ge2.print();
                ge3.set(ss3);
                ge3.print();
        }

}

-> 중복코드를 생략할 수 있다(문장의 간결성)


'JAVA > Basic' 카테고리의 다른 글

제너릭의 종류 2.2) 와일드 카드 <? extends T>  (1) 2017.06.20
제너릭의 종류 2.1) 와일드 카드 <?>  (0) 2017.06.20
제너릭 Genrics 개요  (0) 2017.06.20
컬렉션 ★★  (0) 2017.06.19
쓰레드 2 (동기화, Singleton)  (0) 2017.06.19
Comments