제네릭 (Generic)이란?
자바에서 타입 안정성 (type safety)을 보장하기 위한 기능
// 1. 제네릭은 클래스 또는 메서드에 사용 가능 (T는 컨벤션)
public class Generic<T> {
// 2.선언해둔 타입 변수는 해당 클래스 내에서 특정한 타입이 들어갈 자리에 대신 들어갈 수 있음
private T t;
// 3.메서드의 리턴타입에 들어가는 것 역시 마찬가지
public T get() {
return this.t;
}
public void set(T t) {
this.t = t;
}
public static void main(String[] args) {
// 4.클래스에 선언했기 때문에 인스턴스를 만들기 위해서 타입변수에 들어갈 실제 변수의 값을 넣어줘야 합니다.
// 여기서는 String
Generic<String> stringGeneric = new Generic<>();
// 5.아까 타입변수로 대체 해뒀던 곳에 String이 들어가있기 때문에, 이와 같이 사용 할 수 있습니다.
stringGeneric.set("Hello World");
String tValueTurnOutWithString = stringGeneric.get();
System.out.println(tValueTurnOutWithString);
}
}
Generic 장점
1. 타입 언어에서 중복되거나 필요없는 코드를 줄여주는 것
2. 그러면서도 타입 안정성을 해치지 않는 것
3. 컴파일러가 타입 체크를 강하게 수행하여 런타임에 발생할 수 있는 에러를 사전에 방지 가능
※ 타입 언어 : 프로그래밍에서 변수를 사용할 때 해당 변수의 타입을 미리 지정하는 언어
Generic의 필요성
타입언어인 자바에서 타입 선언을 위한 중복되거나 필요없는 코드를 줄여주는 장점이 있음
또한 이런 장점이 있지만 타입 안정성을 해치지 않음
'Java' 카테고리의 다른 글
변수와 객체와 메모리의 관계 (0) | 2023.07.24 |
---|---|
오류와 예외 (0) | 2023.04.09 |
변수 및 자료구조 타입에 대한 사용 예제 (0) | 2023.04.07 |
default, static, 다형성 (0) | 2023.04.05 |
추상 클래스와 인터페이스 (0) | 2023.04.05 |