형식 약어
형식 약어 (Type Abbreviations)
형식 약어(type abbreviation)는 어떤 형식에 붙여 준 별칭(alias), 즉 다른 이름이에요. 원래 형식 이름을 그대로 쓰는 대신, 더 짧게 혹은 더 길게 부를 수 있게 해 주는 기능이죠.
출처
원문: Type Abbreviations (F# Language Reference, Microsoft Learn)
본문
형식 약어 기능을 쓰면 원래 형식 이름보다 짧거나 긴 대체 이름을 만들 수 있어요. 흔히 긴 형식 이름을 줄이거나, 특정 제네릭 인자로 고정된 형식 적용(type application)에 더 간단한 이름을 붙이는 식으로 사용해요. 반대로 형식 약어를 써서 더 길고 설명적인 이름을 만들어 코드 가독성을 높일 수도 있고요.
구문 (Syntax)
type [accessibility-modifier] type-abbreviation = type-name
설명 (Remarks)
형식 약어를 쓰면 형식에 더 의미 있는 이름을 붙여서 코드를 읽기 쉽게 만들 수 있어요. 또한 원래 쓰기 번거로운 형식에 손쉽게 쓸 수 있는 이름을 만들어 주기도 하죠. 여기에 더해, 형식 약어는 기반 형식(underlying type)을 바꿔야 할 때 그 형식을 쓰는 모든 코드를 고치지 않고도 쉽게 바꿀 수 있게 해 줘요.
아래는 간단한 형식 약어 하나예요.
type SizeType = uint32
형식 약어의 기본 접근성(accessibility)은 public이에요.
형식 약어는 제네릭 매개 변수를 포함할 수도 있어요. 다음 코드를 볼게요.
type Transform<'a> = 'a -> 'a
위 코드에서 Transform은 형식 약어예요. 임의의 형식 값을 하나 받아서, 그와 같은 형식의 값을 하나 돌려주는 함수를 나타내죠.
한 가지 기억해야 할 점이 있어요. 형식 약어는 CIL(Common Intermediate Language) 코드에 보존되지 않아요. 그래서 F# 어셈블리를 다른 .NET 언어에서 사용할 때는 형식 약어가 아니라 기반 형식 이름을 써야 해요.
형식 약어는 단위(units of measure)에도 적용할 수 있어요. 자세한 내용은 Units of Measure 문서를 참고하면 돼요.