🐥 제네릭이란 무엇일까 ?
제네릭이란 컴파일 타임에 타입을 체크함으로서 코드의 안정성을 높여주는 기능입니다.
🐣 제네릭은 왜 사용할까 ?
제네릭을 사용하면 컴파일 타임에 강력한 타입 검사와 형 변환을 없앨 수 있다는 장점이 있다.
자동으로 개발자가 의도한 대로 설계할 수 있다는 장점이 있다.
List strList = new ArrayList<>();
strList.add("string");
strList.add(1);
String result = (String) strList.get(0) + (String) strList.get(1); //런타임 에러
List<String> genericList = new ArrayList<>();
genericList.add("string");
genericList.add(1); //컴파일 에러
🌝 제네릭 타입
제네릭 타입이란 파라미터를 타입으로 가지는 클래스와 인터페이스를 지칭합니다.
제네릭 타입으로 선언하면 실제 객체를 생성할 때 모든 타입을 저장할 수 있다는 장점이 있습니다.
🌝 제네릭 메소드
제네릭 메소드란 메소드 선언부에 제네릭 타입이 선언된 메소드입니다.
제네릭 타입과 유사해보이지만, 타입 매개변수의 범위가 메소드 내로 한정된다는 특징이 있습니다.
public class Noodle<T> {
private T t;
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
public <T> void printClass(T t) {
System.out.println("클래스 필드에 정의된 타입 : " + this.t.getClass().getName());
System.out.println("제너릭 메서드에 정의된 타입 : " + t.getClass().getName());
}
}
'개인 공부 > Java' 카테고리의 다른 글
[모던 자바 인 액션] 동작 파라미터화 (0) | 2023.11.13 |
---|---|
[오브젝트] 클래스를 분리해야할 때 (0) | 2023.08.08 |
[오브젝트] 객체지향설계 (0) | 2023.08.08 |