제네릭
제네릭은 클래스 내부에서 사용할 데이터 타입을 나중에 지정하는 기법을 말한다. 런타임 시 발생할 수 있는 오류를 컴파일 과정에서 사전 차단하는 안전장치..!
- 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. 또한 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다.
<T> : Type
<K> : Key
<V> : Value
<E> : Element
<N> : Number
<R> : Result
-> 일반적으로 사용되는 선언 방식이지만, 위와 같이 반드시 일치해야 할 필요는 없다.
public class ResultData<DT> {
@Getter
private String ResultCode;
@Getter
private String msg;
@Getter
private DT data1;
public static <DT> ResultData<DT> from(String ResultCode, String msg) {
return from(ResultCode, msg, null);
}
...
제네릭을 사용하는 이유
- 객체의 타입을 컴파일에 체크하여 의도하지 않는 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준다.
- 반환값에 대한 타입 확인과 형변환을 생략할 수 있기에 코드가 간결해진다.
'Spring' 카테고리의 다른 글
SPRING(08.13) - Model 객체 (0) | 2024.08.13 |
---|---|
SPRING(08.13) - JSTL (0) | 2024.08.13 |
SPRING(08.12) - 표준 메뉴얼, lombok (0) | 2024.08.12 |
MyBatis? (0) | 2024.08.10 |
SPRING(08.09) - Repository(DAO) (0) | 2024.08.10 |