데브허브 | DEVHUB | 다트 기초 문법 - 10일차 / Record
- 레코드의 정의 및 목적: 다트의 레코드는 여러 자료형의 데이터를 하나의 묶음으로 관리할 수 있게 해주는 기능입니다. 기존의 배열, 셋, 맵과 달리 다양한 타입의 데이터를 한 번에 담을 수 있습니다. 📦
- 데이터 접근 방식: 레코드의 데이터는 위치 기반(
$1, $2 등) 또는 이름 기반(record.name)으로 접근할 수 있습니다. 이름 기반 접근은 필드에 이름을 부여했을 때 가능합니다. 🎯
- 레코드의 자료형 특성: 레코드 자체는 하나의 자료형으로 간주됩니다. 예를 들어
(int, String)은 하나의 타입이며, 변수 선언 시 명시적으로 타입을 지정할 수 있습니다. 🏷️
- 불변성 (Immutability): 레코드는 생성 후 내부 값을 변경할 수 없는 불변(immutable) 객체입니다. 이는 데이터의 안정성을 보장하며, 변경이 필요 없는 데이터 묶음에 적합합니다. 🔒
- 이름 기반 필드: 레코드의 필드에 이름을 부여하여 가독성을 높이고, 이름으로 데이터를 접근할 수 있습니다. 이름 기반 필드는 자료형 선언 시 중괄호
{} 안에 위치하며, 위치 기반 필드 뒤에 선언됩니다. 📝
- 타입 별칭 (typedef) 활용: 복잡한 레코드 자료형을 간결하게 정의하고 재사용하기 위해
typedef를 사용할 수 있습니다. 이는 코드의 가독성과 유지보수성을 향상시킵니다. ✍️
- 함수에서의 레코드 활용: 레코드는 함수의 매개변수나 반환 타입으로 사용될 수 있어, 여러 값을 한 번에 전달하거나 반환하는 데 유용합니다. 이는 함수의 인터페이스를 간결하게 만듭니다. 🔄
- 구조 분해 (Destructuring) 소개: 레코드에서 값을 개별 변수로 쉽게 추출할 수 있는 구조 분해(destructuring) 기능이 간략하게 소개되었습니다. (자세한 내용은 다음 강좌에서 다룸) ✂️
immutable 용어 설명: immutable은 '변경 불가능한'이라는 의미로, mutable (변경 가능한)의 반대 개념이며, mutate (변이하다)에서 파생된 용어입니다. 💡