정의
기본 클래스 라이브러리(Base Class Library, 약칭 BCL)는 .NET 프레임워크와 .NET Core/.NET 5+ 등 .NET 플랫폼이 제공하는 핵심 API 집합이다. 파일 입출력, 컬렉션, 문자열 처리, 네트워킹, 암호화, 스레드 관리, 기본 데이터 형식 등 프로그램 전반에 걸쳐 공통적으로 사용되는 클래스, 인터페이스, 구조체, 열거형 등을 포함한다.
역사 및 출처
- 출현 시기: .NET Framework 1.0 (2002) 부터 기본 클래스 라이브러리라는 명칭으로 제공되었다. 이후 .NET Framework 2.0, 3.5, 4.x 및 .NET Core 1.0·2.0·3.0, .NET 5·6·7 등에서도 동일한 개념이 유지된다.
- 공식 명칭: 마이크로소프트(Microsoft)는 공식 문서와 개발자 가이드에서 “Base Class Library”라는 영문 명칭을 사용한다. 한국어 번역본에서는 “기본 클래스 라이브러리”라고 표기한다.
주요 구성 요소
| 네임스페이스 | 주요 내용 |
|---|---|
System |
기본형, 예외, 문자열, 콘솔 입출력 등 핵심 기능 |
System.Collections / System.Collections.Generic |
컬렉션(리스트, 딕셔너리, 큐 등) |
System.IO |
파일·스트림 입출력 |
System.Net |
네트워킹(소켓, HTTP 클라이언트 등) |
System.Threading |
스레드, 작업(Task) 관리 |
System.Security |
암호화·인증·권한 부여 |
System.Globalization |
문화권·지역화 지원 |
System.Reflection |
런타임 메타데이터 탐색 |
System.Diagnostics |
로깅·진단·성능 측정 |
사용 맥락
- 애플리케이션 개발: 콘솔, 윈도우 폼, WPF, ASP.NET, Xamarin 등 다양한 .NET 응용 프로그램에서 기본적인 로직 구현에 활용된다.
- 플랫폼 독립성: .NET Standard는 여러 .NET 구현(Framework, Core, Mono 등) 간에 공통으로 제공되는 API 집합을 정의하며, BCL은 이 표준을 기반으로 한다. 따라서 동일한 코드가 여러 .NET 플랫폼에서 동작한다.
- 확장성: 기본 클래스 라이브러리는 필요에 따라 서드파티 라이브러리와 함께 사용되며, 상속·인터페이스 구현을 통해 기능을 확장할 수 있다.
어원 및 번역
- Base(기본, 토대) + Class(클래스) + Library(라이브러리) → “기본 클래스 라이브러리”로 직역한다.
- 마이크로소프트가 영어 원문으로 “Base Class Library”를 사용하였으며, 한국어 기술 문서와 번역서에서 동일한 의미로 채택하고 있다.
관련 개념
- Framework Class Library (FCL): .NET Framework 전체에서 제공되는 클래스 라이브러리 집합을 가리키는 용어로, BCL은 FCL의 핵심 부분에 해당한다.
- Standard Library: Java, Python 등 다른 프로그래밍 언어에서도 유사한 개념(표준 라이브러리)이 존재한다.
참고 문서
- Microsoft Docs – “Base Class Library (BCL) Overview”
- .NET API Browser – 공식 API 정의 및 사용 예시
이 문서는 확인된 공식 자료에 기반하여 작성되었으며, 추가적인 세부 내용은 마이크로소프트 공식 문서를 참고한다.