ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [17] Generic
    Develpment/Java Sample Source 2020. 9. 13. 21:29

     Generic Class

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    package generic01;
     
    public class GenEx<T>
    {
        T value;
     
        public T getValue() {
            return value;
        }
     
        public void setValue(T value) {
            this.value = value;
        }
    }
     
    cs


     Generic 사용 예제

     

    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
    package generic01;
     
    public class GenMain
    {
        public static void main(String[] args)
        {
            GenEx<String> g = new GenEx<String>();    // new GenEx<"작성하지 않아도 되나, 버전에 따라 작성해야 하는 경우가 있다.">()
            
            g.setValue("Test");
            System.out.println(g.getValue());
            
            //GenEx<int> i = new GenEx<>();        제네릭 타입은 기본자료형을 인식하지 못함.
            GenEx<Integer> i = new GenEx<>();
            
            i.setValue(100);
            System.out.println(i.getValue());
            
            GenEx<Character> c = new GenEx<>();
            
            c.setValue('a');
            System.out.println(c.getValue());
            
            GenEx<Double> d = new GenEx<>();
            
            d.setValue(3.14);
            System.out.println(d.getValue());
        }//main
    }
     
    cs


     Generic Class 2

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    package generic02;
     
    public class Gen<T>
    {
        T value;
        
        public void printArr(T[] value)
        {
            for(int i = 0; i < value.length; i++)
                System.out.print(value[i] + " ");
            System.out.println();
        }
        
        public <G> void printArr2(G[] value)        // 매서드에서만 사용할 제네릭 타입을 설정 할수 있다.
        {
            for(int i = 0; i < value.length; i++)
                System.out.print(value[i] + " ");
            System.out.println();
        }
    }
     
    cs


     Generic 사용 예제 2

     
    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
    package generic02;
     
    public class GenMain
    {
        public static void main(String[] args)
        {
            Integer[]    nArr = {1,2,3,4,5};
            Double[]    dArr = {1.12.23.34.45.5};
            Character[]    cArr = {'a','b''c''d''e'};
            
            Gen<Integer> gen = new Gen<>();
            gen.printArr(nArr);
            gen.printArr2(dArr);
            gen.printArr2(cArr);
            
            Gen<Double> gen1 = new Gen<>();
            gen1.printArr(dArr);
            
            Gen<Character> gen2 = new Gen<>();
            gen2.printArr(cArr);
            
            
            Gen<Object> gen0 = new Gen<>();
            gen0.printArr(nArr);
            gen0.printArr(dArr);
            gen0.printArr(cArr);
            
        }    // main
    }
     
    cs


    'Develpment > Java Sample Source' 카테고리의 다른 글

    [18] Inner Class  (0) 2020.09.13
    [16] Class  (0) 2020.09.13
    [15] String  (0) 2020.09.13
    [14] arrary-multi  (0) 2020.09.13
    [13] Array-single  (0) 2020.09.13

    댓글

Designed by Tistory.