typedef는 C와 C++에서 유래된 개념으로, 기존 자료형에 새로운 이름을 부여하는 것을 의미합니다. Flutter는 Dart 언어를 기반으로 하기 때문에 typedef를 직접적으로 지원하지는 않지만, Dart의 alias 기능을 통해 유사한 효과를 얻을 수 있습니다.
Dart에서 alias는 type 키워드를 사용하여 정의합니다. typedef와 마찬가지로, 복잡한 자료형에 간단한 이름을 부여하여 코드 가독성을 높이고, 코드를 더욱 명확하게 만들 수 있도록 도와줍니다.
typedef 새_자료형 = 기존_자료형;
typedef ColorCode = int;
ColorCode redCode = 0xFFF000;
위 예시에서 ColorCode는 int형의 별칭이 되었으므로, int형 변수를 선언할 때 ColorCode를 사용할 수 있습니다.
typedef Calculation = double Function(double, double);
Calculation add = (a, b) => a + b;
위 예시에서 Calculation은 두 개의 double형 인자를 받아 double형 값을 반환하는 함수의 별칭이 되었습니다.
class User {
String name;
int age;
}
typedef UserList = List<User>;
UserList users = [
User(name: '홍길동', age: 20),
User(name: '이순신', age: 30),
];
위 예시에서 UserList는 User 객체를 요소로 가지는 리스트의 별칭이 되었습니다.
Flutter에서 typedef는 Dart의 alias 기능을 통해 구현됩니다. alias를 적절하게 사용하면 코드의 가독성과 유지보수성을 향상시킬 수 있습니다. 특히, 복잡한 자료형이나 함수형 프로그래밍에서 유용하게 활용될 수 있습니다.
주의: typedef는 새로운 자료형을 만드는 것이 아니라 기존 자료형에 대한 별칭을 부여하는 것임을 기억해야 합니다.
궁금한 점이 있다면 언제든지 질문해주세요.
더 깊이 있는 내용을 알고 싶으시다면 Dart 공식 문서를 참고해 보세요.