본문 바로가기

전공 테트리스/자바 프로그래밍

[자바] 12. 제네릭

* 제네릭 타입
여러 종류의 타입으로 “재사용”할 수 있도록 클래스, 인터페이스, 메소드를 “일반화”시키는 기법
- 컴파일 단계에서 객체 타입 명시

  • 제네릭의 기본 개념은 클래스 내에 사용되는 타입을 클래스의 정의 때가 아닌 객체 생성 때 정의하겠다는 의미


[제네릭 클래스/ 인터페이스]

-> 하나의 클래스로 모든 타입을 담을 수 있고 + 강항 타입 체크(문법오류) 필요
객체 생성 시 타입 결정

MyClass<String> mc1 = new MyClass<String>();
MyClass<String> = mc1 = new MyClass<>();
클래스명<제네릭타입> 참조변수명 = new 클래스명 <>();

제네릭 타입을 지정하지 않으면 Object로 인식
MyClass mc = new MyClass();
MyClass<Object> mc = new MyClass<>();


[제네릭 메서드]

타입 매개변수를 사용하는 메서드 (리턴 타입, 매개변수 타입을 제네릭 타입으로..)

- 일반 클래스의 멤버 또한 가능함
객체.<string>method1(“str“ );
객체.method1(“str“);
// 매개변수 타입으로 유추 가능한 경우 <제네릭타입> 생략 가능
// Object 클래스의 메서드만 제네릭 메서드에서 사용 가능

'전공 테트리스 > 자바 프로그래밍' 카테고리의 다른 글

[자바] 14. 예외 처리  (0) 2024.06.21
[자바] 13. 컬렉션 프레임워크  (0) 2024.06.21
[자바] 11. 기본 API  (0) 2024.06.21
[자바] 2. 자료형  (0) 2024.04.27
[자바] 1. 자바 시작하기  (0) 2024.04.27