본문 바로가기

Spring

SPRING(08.12) - 제네릭

제네릭

제네릭은 클래스 내부에서 사용할 데이터 타입을 나중에 지정하는 기법을 말한다. 런타임 시 발생할 수 있는 오류를 컴파일 과정에서 사전 차단하는 안전장치..!

  • 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. 또한 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다.

<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