(kotlin) generic

박용석·2023년 8월 11일
0

제네릭에 들어가는 <> 안에 T를 자주 접하게되어 찾아보고 모르는 정보를 정리하는 시간을 갖기로 했다.

제네릭 <>

제네릭(generic)이란 말그대로 데이터 타입(data type)을 일반화 한다(generalize)라는 의미한다.
제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다.

  1. 클래스나 메소드(함수), 인터페이스 등에서 사용이 가능
  2. 데이터 타입을 컴파일시 미리 지정하는 방법으로 사용
  3. 코드 재사용성이 높아짐
  4. 잘못된 데이터가 들어오는 경우, 컴파일시에 에러가 발생하기때문에 미리 문제를 수정할 수 있음

제네릭에 다양한 사용방법이 있는데 T를 활용한 간단한 예시를 만들었다.

타입 T는 객체를 생성할 때 해당 타입으로 변경된다. 따라서 정확한 타입이 정해지지 않아서 Int와 String으로 따로 분리하여 만들지 않아도 하나의 T타입을 선언하는 것만으로 다양한 타입을 뜯고 맛볼 수 있다.

멀티 제네릭으로 <T1, T2, ...>와 같이 콤마로 여러개를 사용할 수 있다. 이 것 말고도 다양한 예시를 보았는데 어떠한 클래스를 T1: Person 이러한 식으로 상속받아서 사람 클래스 타입만으로 제한하여 사용하는 방법도 있었고 계속 사용해보며 이해도와 숙련도를 높인다면 코드를 짜는 방법에 많은 도움을 받을 수 있을 것 같다.

아직도 모르는게 너무 많아서 배울점이 많은 것 같다. 열심히 공부해야겠다.

profile
슬기로운 개발 활동

0개의 댓글