Today
-
Yesterday
-
Total
-
  • 제네릭 Generic 프로그래밍
    Language/Java 2023. 11. 28. 00:01

    제네릭 자료형

    • 클래스에서 사용하는 변수의 자료형이 여러개 일 수 있고, 그 기능은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정할 수 있다.
    • 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식이다.
    • 자바 10부터 자료형 추론이 가능해졌다.
    • <T extends 클래스>
      • T 자료형 범위 제한
      • 상위 클래스에서 선언하거나 정의하는 메서드만 활용 할 수 있게 제한한다.



    간단한 Generic 클래스 생성 예시

    public class GenericPrinter<T extends Number> {
        private T anything;
    
        public T getAnything() {
            return anything;
        }
    
        public void setAnything(T anything) {
            this.anything = anything;
        }
    
        @Override
        public String toString() {
            return "GenericPrinter{" +
                    "anything=" + anything +
                    '}';
        }
    }

     

     

    간단한 Generic 클래스 사용 예시

    public class GenericStudy {
        public static void main(String[] args) {
    /* 		String 클래스는 Number를 상속받은 클래스가 아니기 때문에 에러남
    
            GenericPrinter<String> stringPrinter = new GenericPrinter<>();
            stringPrinter.setAnything("룰루");
            System.out.println(stringPrinter.getAnything());
    */
    
            GenericPrinter<Double> doublePrinter = new GenericPrinter<>();
            doublePrinter.setAnything(5.5);
            System.out.println(doublePrinter.getAnything());
    
            GenericPrinter<Integer> integerPrinter = new GenericPrinter<>();
            integerPrinter.setAnything(1);
            System.out.println(integerPrinter.getAnything());
        }
    }

    'Language > Java' 카테고리의 다른 글

    OkHttp3 라이브러리 사용 with 비동기  (0) 2023.11.29
    Thread  (0) 2023.11.29
    Maven , Gradle  (0) 2023.11.28
    SQLite  (0) 2023.11.25
    Stream_3: 중간 연산자  (0) 2023.11.25

Designed by Tistory / Custom by 얼거스