BCL - 해당되는 글 2건
크리에이티브 커먼즈 라이선스
Creative Commons License
@장점
- 닷넷의 가장 큰 장점은 플랫폼에 독립적인 응용프로그램을 만들 수 있다는 것이다. 플랫폼 독립성은 중간 코드와 JIT 컴파일러에 의해 구현된다. 닷넷이 필요해진 이유이기도 하다 소프트웨어를 딱 한 번만 작성해서 수정없이 어디에서나 실행된다는 것은 정말 큰 매력이다.
- 언어 상호 운용이 가능하다. CLS를 만족하고 관리코드를 생성해 낼 수 있다면, 어떤 언어로든 닷넷 응용 프로그램을 개발할 수 잇다. 오로지 자바 언어만 인정하는 자바와는 비교되는 부분이다. 언어 상호 운용성은 언어 독립성보다는 한 단계 더 상위의 개념으로서 다른 기종의 언어끼리 교차 호출, 교차 상속, 교차 디버깅 까지도 가능하다.
- 닷넷은 플랫폼 자체가 객체 지향적이며 닷넷 언어들도 모두 완전한 객체 지향언어이다. C수준의 API 함수로만 구동되는 윈도우즈와 비교되는 부분이다. 객체 지향은 절차식에 비해 직관적이고 개발 속도가 빨라 생산성이 높고 배우기도 훨씬 더 쉽다.
- 응용 프로그램을 배포하기 쉽다. 어셈블리가 자신에 대한 정보인 메타 데이터를 내장하고 있으므로 단순히 복사하기만 하면 설치 완료된다. 레지스트리에 의존하는 COM과는 달리 시스템에 부하를 주지 않으며 DLL처럼 덮어쓰기에 의해 이전 프로그램이 영향을 받는 경우도 없다.
- 프로그래밍 환경이 아주 쾌적하다. CLR은 가비지 컬렉션 기능을 제공하며 할당한 객체를 해제 하지 않아도 자동으로 해제한다. C++은 할당 후 반드시 직접 해제해야 하는데 이런 문제로 인해 여러 가지 부작용이 나타나고 메모리 누수로 인해 시스템에도 악영향을 미쳤다. 닷넷에서는 이런 문제가 없어 프로그래밍하기 편리하다. 필요한 만큼 생성해서 쓰고 다 쓴 후 그냥 내버려두면 된다. 또한 비주얼 스튜디오 닷넷 같은 막강한 컴파일러의 지원을 받을 수 있다. .
- 닷넷의 활용범위는 광범위하다. 일반적인 응용프로그램뿐만 아니라 데이터베이스 접속도 할 수 있으며 웹 응용 프로그램 개발도 지원한다. 분산 환경의 서버, 클라이언트도 작성할 수 있고 모바일 응용 프로그램까지도 만들 수 있어 필요한 거의 대부분의 응용 프로그램 제작이 가능하다.
- 방대한 양의 클래스 라이브러리(BCL)가 제공된다. BCL에는 윈폼, 웹폼, ADO, 리모팅 등의 기능을 제공하는 클래스들이 체계적으로 잘 정리되어 있다. 그 뿐만 아니라 XML, 정규식, 이미지 출력, 네트워킹 등 웬만한 기능이 다 포함되어 있어 공짜로 쓸 수 있다. 게다가 BCL은 개별 언어가 아닌 닷넷 플랫폼에 의해 제공되는 것이므로 모든 닷넷 지원 언어들이 이 라이브러리의 서비스를 받을 수 있다. 닷넷 프레임워크는 닷넷 언어들이 공유하는 거대 규모의 라이브러리이다.
저작자 표시
신고

'Study > C#' 카테고리의 다른 글

[C# : 배열의 메서드]  (0) 2010.07.25
[C# : 콘솔의 여러가지 기능]  (0) 2010.07.25
[.NET : 닷넷의 네임스페이스]  (0) 2010.07.25
[.NET : 닷넷의 장점]  (0) 2010.07.25
[.NET : 닷넷의 구성요소]  (0) 2010.07.25
[.NET: 닷넷의 구조]  (0) 2010.07.25
Trackback 0 | Comment 0
크리에이티브 커먼즈 라이선스
Creative Commons License

닷넷은 플랫폼 독립성과 언어 독립성을 확보하기 위해 다음과 같은 여러가지 장치들을 제공한다. 대부분 Common으로 시작하는데 그만큼 닷넷이 공용성과 일반성에 역점을 두었다는 뜻이다.

@CLR(Common Language Runtime)
- 닷넷 실행 엔진을 의미한다. 자바의 가상 머신(JVM)과 개념적으로 동일하다. 런터임이란 프로그램이 실행되기 위한 핵심 모듈들의 집합이다. CLR은 닷넷 프로그램 실행에 필수적인 런타임들의 집합이되 이름이 의미하듯이 모든 언어에 공용으로 사용된다. 어떤 언어로 만든 프로그램이든지 IL을 JIT로 컴파일 한후 CLR과 연결되므로 제작 언어에 상관없이 CLR의 서비스를 받을 수 있다. 닷넷 응용프로그램은 운영체제와 직접 통신하지 않으며 반드시 CLR을 거쳐야 한다. CLR은 물론 플랫폼별로 따로 제공된다. CLR이 호스트 운영체제와의 통신을 책임지므로 응용 프로그램은 운영체제에 대해서 독립적이다. 응용프로그램은 호스트 운영체제는 거의 신경 쓸 필요가 없고 오로지 CLR과의 약속만 잘 지키면 된다.

@CTS(Common Type System)
- CTS는 모든 닷넷 언어들이 공동으로 사용하는 타입 체계를 정의한다. 언어끼리 함수를 호출하려면 인수나 리턴값에 대해 서로의 타입을 알 수 있어야 한다. 예를 들어, C++에서 int형의 값을 넘기면 VB에서는 Integer 타입으로 이 값을 받아 들일 것이다. 이때 int와 Integer는 같은 타입이라는 것을 두 언어가 모두 알고 있어야 하며 물리적인 포맷이 같아야 한다. CTS는 닷넷 지원 언어들이 공동으로 사용하는 타입에 대한 약속이며, IL에서 사용 가능한 타입들의 집합이다. CTS에는 정수, 실수 같은 기본형뿐만 아니라 클래스, 배열 같은 좀 더 복잡한 타입까지 계층이 잘 정의되어 있다.

@CLS(Common Language Specification)
- 각각의 언어들은 다른 언어와 구분되는 아주 고유한 특성들을 가지기도 한다. 예를 들어 명칭의 대소문자를 구분하는가, 다중 상속은 지원하는가, 연산자 오버로딩은 가능한가 등은 언어마다 다르다. 이렇게 언어마다 특성이 각각 다르면 언어 상호 운용이 아주 어려워진다. 그래서 닷넷은 언어들이 지켜야 하는 최소한의 사양을 정의하는데 이를 CLS라 한다. CLS는 닷넷용 언어가 되기 위한 최소한의 규정이다.

@BCL
- 닷넷에는 여러 가지 복잡한 기능을 제공하는 바대한 기본 클래스 라이브러리(BCL)이 탑재되어 있다. 닷넷은 플랫포이면서 라이브러리라고 할 수 있는데 사실 플랫폼은 응용 프로그램 제작을 위한 라이브러리를 포함할 수밖에 없다. 플랫폼이 라이브러리를 제공하지 않으면 응용프로그램 개발자들이 해야 할 일들이 너무 많아지기 때문이다. 마치 윈도우즈가 방대한 Win32 API를 제공하는 것처럼 닷넷도 같은 개념의 BCL을 제공한다. BCL은 마이크로소프트가 미리 작성하여 제공하는 잘 정리된 클래스들의 거대한 집합이다. 제공되는 클래스드릐 규모가 엄청날 뿐만 아니라 객체 지향적이고 문서화도 잘 되어 있어서 잡스러운 처리들의 대부분은 BCL을 호출하기만 하면 된다.

BCL에 포함된 클래스의 목록과 기능
- 기본 타입에 대한 정보 제공
- 배열, 연결 리스트, 큐 등의 컬렉션 클래스
- 그래픽 라이브러리(GDI+)
- 스레드와 동기화 클래스
- 각종 컨트롤
- 파일 입출력
- 네트워크와 인터넷 프로그래밍
- 데이터베이스 액세스
응용 프로그램 제작에 필요한 기능들의 대부분이 BCL에 이미 구현되어 있으므로 공짜로 쓸 수 있는 기능들이 아주 많다. 더구나 BCL은 언어 차원이 아니라 닷넷 플랫폼 차원에서 제공하는 라이브러리이므로 모든 언어들이 공유할 수 있다는 면에서 더 매력적이다.
저작자 표시
신고

'Study > C#' 카테고리의 다른 글

[C# : 배열의 메서드]  (0) 2010.07.25
[C# : 콘솔의 여러가지 기능]  (0) 2010.07.25
[.NET : 닷넷의 네임스페이스]  (0) 2010.07.25
[.NET : 닷넷의 장점]  (0) 2010.07.25
[.NET : 닷넷의 구성요소]  (0) 2010.07.25
[.NET: 닷넷의 구조]  (0) 2010.07.25
Trackback 0 | Comment 0

강군v's Blog is powered by Daum & tistory

 

티스토리 툴바