F# 언어 참조

이 단원에서는 .NET 플랫폼을 대상으로 하는 다중 패러다임 프로그래밍 언어인 F# 언어에 대한 참조 정보를 제공합니다. F# 언어는 함수형의 개체 지향적인 명령형 프로그래밍 모델을 지원합니다.

F# 토큰

다음 표에는 F#의 토큰으로 사용되는 키워드, 기호 및 리터럴에 대한 정보를 제공하는 참조 항목이 나와 있습니다.

제목

설명

키워드 참조(F#)

모든 F# 언어 키워드에 대한 정보 항목으로 연결되는 링크를 제공합니다.

기호 및 연산자 참조(F#)

F# 언어에 사용되는 기호와 연산자의 표를 제공합니다.

리터럴(F#)

F#의 리터럴 값 구문을 설명하고 F# 리터럴에 대한 형식 정보를 지정하는 방법을 설명합니다.

F# 언어 개념

다음 표에는 언어 개념을 설명하는 참조 항목이 나와 있습니다.

제목

설명

함수(F#)

함수는 어떠한 프로그래밍 언어에서든 프로그램을 실행하는 데 있어 가장 기본이 되는 단위입니다. 다른 언어에서와 마찬가지로 F# 함수에는 이름과 본문이 있으며 함수에 매개 변수와 인수를 사용할 수 있습니다. F#에서는 함수를 값으로 취급하고, 명명되지 않은 함수를 식에 사용하고, 함수를 합성하여 새 함수를 만들고, 함수를 변환하고, 함수 인수의 부분 적용을 통해 함수를 암시적으로 정의하는 등과 같은 함수형 프로그래밍 구문도 지원합니다.

F# 형식

F#에 사용되는 형식을 설명하고 F# 형식이 어떻게 명명 및 설명되는지에 대한 정보를 제공합니다.

형식 유추(F#)

F# 컴파일러가 값, 변수, 매개 변수 및 반환 값의 형식을 어떻게 유추하는지 설명합니다.

자동 일반화(F#)

F#의 제네릭 구문을 설명합니다.

상속(F#)

개체 지향 프로그래밍에서 "동등" 관계, 즉 하위 형식을 모델링하는 데 사용되는 상속에 대해 설명합니다.

멤버(F#)

F# 개체 형식의 멤버를 설명합니다.

매개 변수 및 인수(F#)

매개 변수를 정의하고 함수, 메서드 및 속성에 인수를 전달하기 위한 언어 지원에 대해 설명합니다. 여기서는 참조를 통한 전달 방법에 대한 정보도 제공합니다.

연산자 오버로드(F#)

클래스나 레코드 형식에서 또는 전역 수준에서 산술 연산자를 오버로드하는 방법을 설명합니다.

캐스팅 및 변환(F#)

F#의 형식 변환 지원에 대해 설명합니다.

액세스 제어(F#)

F#의 액세스 제어를 설명합니다. 액세스 제어란 클라이언트에서 사용할 수 있는 형식, 메서드, 함수 등의 특정 프로그램 요소를 선언하는 것을 말합니다.

패턴 일치(F#)

패턴에 대해 설명합니다. 패턴은 데이터를 추출하여 비교하거나, 데이터를 여러 구성 부분으로 분해하거나, 다양한 방식으로 데이터에서 정보를 추출하기 위해 F# 언어 전체에 사용되는 입력 데이터의 변환 규칙입니다.

활성 패턴(F#)

활성 패턴을 설명합니다. 활성 패턴을 사용하면 입력 데이터를 세분하는 명명된 파티션을 정의할 수 있습니다. 활성 패턴을 사용하여 각 파티션에 대해 사용자 지정된 방식으로 데이터를 분해할 수 있습니다.

어설션(F#)

식을 테스트하는 데 사용할 수 있는 디버깅 기능인 assert 식을 설명합니다. 디버그 모드에서 어설션에 실패하면 시스템 오류 대화 상자가 열립니다.

예외 처리(F#)

F# 언어의 예외 처리 지원에 대한 정보를 제공합니다.

특성(F#)

특성에 대해 설명합니다. 특성을 사용하면 프로그래밍 구문에 메타데이터를 적용할 수 있습니다.

리소스 관리: use 키워드(F#)

리소스 초기화와 리소스 해제를 제어하는 데 사용할 수 있는 use 및 using 키워드를 설명합니다.

네임스페이스(F#)

F#의 네임스페이스 지원에 대해 설명합니다. 네임스페이스를 사용하면 프로그램 요소의 그룹에 이름을 할당하여 코드를 관련 기능 영역으로 묶어 정리할 수 있습니다.

모듈(F#)

모듈에 대해 설명합니다. F# 모듈은 F# 프로그램에 사용되는 값, 형식, 함수 값 같은 F# 코드의 그룹입니다. 코드를 모듈로 그룹화하면 관련 코드를 함께 묶어 관리할 수 있고 프로그램에서 이름이 서로 충돌하지 않도록 방지할 수 있습니다.

가져오기 선언: open 키워드(F#)

open의 작동 방식을 설명합니다. 가져오기 선언에서는 정규화된 이름을 사용하지 않고 해당 요소를 참조할 수 있는 모듈이나 네임스페이스를 지정합니다.

서명(F#)

시그니처와 시그니처 파일에 대해 설명합니다. 시그니처 파일에는 형식, 네임스페이스, 모듈 등의 F# 프로그램 요소 집합에 대한 공개 시그니처 관련 정보가 포함됩니다. 해당 프로그램 요소에 대한 액세스 가능 여부를 지정하는 데 이를 사용할 수 있습니다.

XML 문서(F#)

삼중 슬래시 주석이라고도 하는 XML 문서 주석에 대한 문서 파일 생성 지원 기능을 설명합니다. 다른 .NET 언어에서와 마찬가지로 F#에서도 코드 주석을 통해 문서를 생성할 수 있습니다.

자세한 구문(F#)

간단한 구문을 사용하지 않을 때의 F# 구문 형식을 설명합니다. 코드 파일 상단에 #light "off" 지시문이 있으면 해당 구문이 자세한 구문이라는 의미입니다.

F# 형식

다음 표에는 F# 언어에서 지원하는 형식을 설명하는 참조 항목이 나와 있습니다.

제목

설명

값(F#)

값에 대해 설명합니다. 값은 특정 형식의 변경 불가능한 수량입니다. 값은 정수나 부동 소수점 숫자, 문자나 텍스트, 목록, 시퀀스, 배열, 튜플, 구별된 공용 구조체, 레코드, 클래스 형식 또는 함수 값일 수 있습니다.

기본 형식(F#)

F# 언어에 사용되는 기본 형식을 설명합니다. 여기서는 각 형식에 상응하는 .NET 형식과 각각의 최소값 및 최대값도 설명합니다.

단위 형식(F#)

특정 값이 없음을 나타내는 형식인 unit 형식을 설명합니다. unit 형식에는 다른 어떠한 값도 없거나 다른 값이 필요하지 않을 때 자리 표시자 역할을 하는 값 하나만 사용됩니다.

문자열(F#)

F#의 문자열에 대해 설명합니다. string 형식은 변경할 수 없는 텍스트를 유니코드 문자의 시퀀스로 나타냅니다. string은 .NET Framework의 String에 대한 별칭입니다.

튜플(F#)

명명되지 않았지만 순서가 지정된 값의 그룹인 튜플에 대해 설명합니다. 튜플에 포함된 값의 형식은 서로 다를 수 있습니다.

목록(F#)

목록에 대해 설명합니다. F#의 목록은 순서가 지정된 일련의 변경 불가능한 요소 모음입니다. 목록에 포함된 요소의 형식은 모두 동일해야 합니다.

옵션(F#)

옵션 형식에 대해 설명합니다. F#의 옵션은 값이 있어도 되고 없어도 될 때 사용됩니다. 옵션에는 내부 형식이 있습니다. 옵션은 내부 형식에 해당하는 형식의 값을 갖거나 값을 전혀 갖지 않을 수 있습니다.

시퀀스(F#)

시퀀스에 대해 설명합니다. 시퀀스는 일련의 요소로 이루어진 논리적 모음입니다. 시퀀스에 포함된 요소의 형식은 모두 동일해야 합니다. 개별 시퀀스 요소는 필요한 경우에만 계산되므로 리터럴 요소 수에 표시되는 것보다 그 표현 수가 적을 수 있습니다.

배열(F#)

배열에 대해 설명합니다. 배열은 연속적인 데이터 요소의 변경 가능한 시퀀스입니다. 이는 크기가 정해져 있고 0부터 시작합니다. 배열에 포함된 요소의 형식은 모두 동일해야 합니다.

레코드(F#)

레코드에 대해 설명합니다. 레코드는 명명된 값의 간단한 집계를 나타내며 선택적으로 멤버를 포함할 수 있습니다.

Discriminated Unions(F#)

구별된 공용 구조체에 대해 설명합니다. 이 공용 구조체는 여러 가지 명명된 사례 중 하나일 수 있는 값을 지원합니다. 각 사례는 값과 형식이 저마다 다를 수 있습니다.

열거형(F#)

명명된 값의 집합을 정의하여 갖는 형식인 열거형에 대해 설명합니다. 리터럴 대신 열거형을 사용하여 코드를 더 읽기 쉽고 유지 관리하기 쉽게 만들 수 있습니다.

참조 셀(F#)

참조 셀에 대해 설명합니다. 참조 셀은 참조 의미론을 통해 변경 가능한 변수를 만드는 데 사용할 수 있는 저장 위치입니다.

형식 약어(F#)

형식의 대체 이름인 형식 약어에 대해 설명합니다.

클래스(F#)

속성, 메서드 및 이벤트를 가질 수 있는 개체를 나타내는 형식인 클래스에 대해 설명합니다.

구조체(F#)

간결하게 압축된 개체 형식인 구조체에 대해 설명합니다. 데이터의 양이 많지 않고 동작이 단순한 형식에 대해서는 클래스보다 구조체를 사용하는 편이 더 효율적일 수 있습니다.

인터페이스(F#)

다른 클래스에서 구현하는 관련 멤버로 이루어진 집합을 지정하는 인터페이스에 대해 설명합니다.

추상 클래스(F#)

파생 클래스를 통해 멤버를 구현할 수 있도록 멤버 중 일부 또는 멤버 전체를 구현하지 않은 채로 두는 클래스인 추상 클래스에 대해 설명합니다.

형식 확장(F#)

형식 확장명에 대해 설명합니다. 형식 확장명을 사용하면 이전에 정의한 개체 형식에 새 멤버를 추가할 수 있습니다.

유연한 형식(F#)

유연한 형식에 대해 설명합니다. 유연한 형식 주석은 매개 변수, 변수 또는 값의 형식이 지정된 형식과 호환됨을 나타냅니다. 이 호환성은 클래스나 인터페이스의 개체 지향 계층 구조에서의 위치에 의해 결정됩니다.

대리자(F#)

함수 호출을 개체로 표현하는 대리자에 대해 설명합니다.

측정 단위(F#)

측정 단위에 대해 설명합니다. F#의 부동 소수점 값에는 측정 단위가 연결될 수 있습니다. 이 단위는 일반적으로 길이, 용적, 질량 등을 나타내는 데 사용됩니다.

F# 식

다음 표에는 F# 식을 설명하는 항목이 나와 있습니다.

제목

설명

조건식: if... then...else(F#)

주어진 부울 식에 따라 코드의 각기 다른 분기를 실행하고 계산 결과로 구한 값이 서로 다를 수 있는 if...then...else 식을 설명합니다.

일치 식(F#)

식을 패턴 집합과 비교한 결과를 기반으로 분기를 제어하는 match 식을 설명합니다.

루프: for...to 식(F#)

루프 변수의 값 범위에 대해 루프를 반복하는 데 사용되는 for...to 식을 설명합니다.

루프: for...in 식(F#)

열거형을 지원하는 구문을 비롯하여 범위 식, 시퀀스, 목록 또는 배열 등의 열거 가능한 컬렉션에서 패턴에 일치하는 항목에 대해 루프를 반복하는 데 사용되는 구문인 for...in 식을 설명합니다.

루프: while...do 식(F#)

지정한 테스트 조건이 참일 때 반복 실행, 즉 루프를 수행하는 데 사용되는 while...do 식을 설명합니다.

개체 식(F#)

개체 식에 대해 설명합니다. 개체 식은 기존의 기본 형식, 인터페이스 또는 인터페이스 집합을 기반으로 하여 동적으로 작성되는 익명 개체 형식의 새 인스턴스를 만드는 식입니다.

지연 계산(F#)

지연 계산에 대해 설명합니다. 이는 즉시 계산되지 않는 대신 결과가 실제로 필요할 때 수행되는 계산을 말합니다.

계산 식(F#)

F#의 계산 식을 설명합니다. 이 계산 식의 구문을 사용하면 제어 흐름 구문과 바인딩을 통해 순서 지정과 결합이 가능한 계산을 쉽게 작성할 수 있습니다. 함수형 프로그램의 데이터, 컨트롤 및 파생 작업을 관리하는 데 사용할 수 있는 함수형 프로그래밍 기능인 모나드에 대한 구문에도 이러한 계산 식을 편리하게 사용할 수 있습니다. 계산 식의 형식 중 하나인 비동기 워크플로에서는 비동기 및 병렬 계산을 지원합니다. 자세한 내용은 비동기 워크플로(F#)를 참조하십시오.

비동기 워크플로(F#)

일반적으로 동기 코드를 작성할 때와 매우 비슷한 방식으로 비동기 코드를 작성하는 데 사용할 수 있는 언어 기능인 비동기 워크플로를 설명합니다.

코드 인용(F#)

F# 코드 식을 프로그래밍 방식으로 생성하고 다루는 데 사용할 수 있는 언어 기능인 코드 인용에 대해 설명합니다.

컴파일러 지원 구문

다음 표에는 특수 컴파일러 지원 구문을 설명하는 항목이 나와 있습니다.

항목

설명

컴파일러 지시문(F#)

처리기 지시문과 컴파일러 지시문에 대해 설명합니다.

소스 줄, 파일 및 경로 식별자(F#)

코드에서 소스 줄 번호, 디렉터리 및 파일 이름에 액세스하는 데 사용할 수 있는 기본 제공 값인 __LINE__, __SOURCE_DIRECTORY__ 및 __SOURCE_FILE__ 식별자에 대해 설명합니다.

참고 항목

기타 리소스

Visual F#

F# 컴파일러(fsc.exe) 참조