제네릭 (Generic) = 일반적인
자료형 정하는거를 객체 생성시점으로 미루는것.
- <> 연산자를 사용함.
- 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법
제네릭 타입의 장점 :
- 타입 안정성
- 의도하지 않은 타입의 객체가 저장되는 것을 막는다.
- 저장된 객체를 꺼내올 때 다른 타입으로 잘못 형변환하여 발생할 수 있는 오류를 줄인다.
- 타입 안정성(type safety)
- 코드가 간결해진다
단점 : 다운캐스팅을 할 필요는 없지만 정해진 자료형만 사용가능하다.
public class Box <T> {
private T item ; } //어떤 타입의 item 도 담을 수 있다.
괄호 꺾쇠 안에 타입명을 기재한다. 따로 지정해주지 않으면 String타입으로 지정되어 문자열 데이터만 리스트에 적재할 수 있게 된다.
ArrayList<String> list = new ArrayList<>();
// String 타입의 list 선언
//오른쪽 <> 안에 타입을 넣지 않아도 왼쪽에서 지정된 타입을 바탕으로 컴파일러가 우측의 다이아몬드 연산자의
//타입을 알아서 추론해준다.
객체를 생성할 때에도 사용이 가능하다 .
Person<String> person = new Person<>();
//String 타입으로 생성한 person 객체
//person 객체는 person.length() 와 같은 String 클래스의 메소드들을 사용할 수 있다.
'언어 > Java' 카테고리의 다른 글
자바의 컬렉션이란? (0) | 2024.09.30 |
---|---|
자바 Property란? (1) | 2024.09.30 |
접근한정자란? (0) | 2024.09.30 |
업캐스팅 , 다운캐스팅이란? (0) | 2024.09.25 |
추상클래스와 interface 의 차이? (0) | 2024.09.23 |