

Dart 문법 OOP - 제네릭Dart/OOP2024. 8. 21. 13:52
Table of Contents
제네릭이란?
제네릭은 클래스나 함수 정의를 선언할 때가 아니라 인스턴스화하거나 실행할 때로 타입 결정을 미루는 프로그래밍 기법이다.
주요 특징:
- 특정 변수의 타입을 하나로 제한하지 않고 유연하게 사용할 수 있다.
- 코드 중복을 줄이고 재사용성을 높인다.
- 컴파일 시점에 타입 체크를 할 수 있어 런타임 오류를 줄일 수 있다.
Dart에서의 제네릭 사용 예
사실 우리는 이미 많은 곳에서 제네릭을 사용하고 있다:
여기서 <String>, <String, int>, <double>이 바로 제네릭 표현이다.
제네릭 클래스 만들기
직접 제네릭 클래스를 만들어 보겠다:
이 예제에서:
- T는 타입 파라미터로, 실제 Box 객체를 생성할 때 구체적인 타입으로 대체된다.
- Box 클래스는 어떤 타입의 값이든 저장할 수 있다.
제네릭 함수
함수에도 제네릭을 적용할 수 있다:
이 getFirst 함수는 어떤 타입의 리스트든 받아서 첫 번째 요소를 반환할 수 있다.
제네릭 타입 제한
특정 타입 또는 그 하위 타입만 허용하도록 제한할 수도 있다:
여기서 <T extends Animal>은 T가 Animal 클래스 또는 그 하위 클래스여야 함을 의미한다.
자주 사용되는 제네릭 타입 파라미터
개발자들 사이에서 관례적으로 사용되는 타입 파라미터가 있다:
- T: Type (일반적인 타입)
- E: Element (요소, 주로 컬렉션에서 사용)
- K: Key (키, 주로 Map에서 사용)
- V: Value (값, 주로 Map에서 사용)
- R: Return (반환 타입)
이러한 관례를 따르면 다른 개발자들이 코드를 더 쉽게 이해할 수 있다.
'Dart > OOP' 카테고리의 다른 글
Dart 문법 OOP - 메서드 호출, 캐스케이드 연산자 (0) | 2024.08.21 |
---|---|
Dart 문법 OOP - static (0) | 2024.08.21 |
Dart 문법 OOP - 추상 (0) | 2024.08.21 |
Dart 문법 OOP - 믹스인 (0) | 2024.08.21 |
Dart 문법 OOP - 인터페이스 (0) | 2024.08.20 |

@codeJunH :: codeJunH의 IT 공부 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!