제네릭

CHM·2022년 4월 20일

Java 활용

목록 보기
7/15

제네릭

  • 객체의 데이터 타입을 미리 명시해주는 것
    • 제네릭 사용 이유
      • 컬렉션 프레임워크를 사용해도 기본타입이 Object이기 때문에, 지정한 데이터를 가져올 때 형 변환을 해야하는 불편함이 있었음.
      • 제네릭을 통해 형 변환 코드 불필요
      • 컴파일 시 강한 타입 체크
  • 제네릭 원리

    ClassName< T >

클래스 선언이 위와 같이 되어 있어서, <> 안에 타입을 선언하면, 해당 클래스의 타입 자체가 그 타입으로 바뀌게 된다.

제네릭 사용 방법

  • 기존 사용 방법
List list = new ArrayList();
list.add("안녕하세요");
String hello = (String)list.get(0);  // Object 리턴이므로 형변환 필수
  • 제네릭 사용
List<String> list2 = new ArrayList<String>();
list2.add("안녕하세요");
String hello2 = list2.get(0);  // 자동으로 String을 리턴하므로 형변환 필요 X
  • 제네릭 타입을 지정하면 메서드 자체가 재정의 되는 것이다.
  • 제네릭을 쓰게 되면 자동으로 형변환을 해주는 것이 아니다.

0개의 댓글