F# 멤버

F# 멤버 (Members)

F# 객체 형식에 속하는 멤버가 무엇인지, 그리고 member 키워드로 어떤 것들을 선언할 수 있는지 개괄적으로 살펴보는 문서예요. 뒤의 "더 알아보기" 링크를 따라가면 각 멤버 종류를 하나씩 자세히 다뤄요.

출처: Members – Microsoft Learn (원문)

본문

이 문서는 F# 객체 형식의 멤버에 대해 설명해요.

멤버는 형식 정의의 일부를 이루는 기능으로, member 키워드로 선언해요. 레코드, 클래스, 판별 공용체, 인터페이스, 구조체 같은 F# 객체 형식이 모두 멤버를 지원해요. 자세한 내용은 Records, Classes, Discriminated Unions, Interfaces, Structs 문서를 참고하세요.

멤버는 보통 그 형식의 외부 공개 인터페이스를 구성해요. 그래서 특별히 지정하지 않는 한 기본으로 public이 되죠. 물론 멤버를 private나 internal로 선언할 수도 있어요. 이 부분은 Access Control 문서에 자세히 나와 있어요. 그리고 시그니처 파일을 활용해 특정 멤버를 외부에 노출하거나 감추는 방법도 있어요. 그건 Signatures 문서에서 다뤄요.

한 가지 짚고 넘어갈 점이 있어요. 클래스에서만 쓰는 private 필드와 do 바인딩은 진짜 멤버는 아니에요. 언제나 형식의 외부 공개 인터페이스에서 빠져 있고, member 키워드로 선언되지도 않으니까요. 다만 이 문서에서 함께 설명하고 있어요.

더 알아보기

주제 설명
let Bindings in Classes 클래스에서 private 필드와 함수를 정의하는 방법
do Bindings in Classes 객체 초기화 코드를 지정하는 방법
Properties 클래스와 다른 형식의 프로퍼티 멤버
Indexed Properties 클래스와 다른 형식의 배열처럼 동작하는 프로퍼티
Methods 형식의 멤버인 함수
Constructors 형식의 객체를 초기화하는 특수 함수
Operator Overloading 형식에 사용자 지정 연산자를 정의하는 방법
Events F#에서 이벤트 정의와 이벤트 처리 지원
Structs F#에서 구조체를 정의하는 방법
Explicit Fields 형식에서 초기화되지 않은 필드를 정의하는 방법