본문 바로가기

프로그램&DB/C#

[C# 강좌] C# 프로그래밍 #01 - .NET Framework

제 1장 .NET Framework


1. 닷넷 프레임워크

  1.1 닷넷 프레임워크에 대한 소개

  많은 사람들이 .NET에 대해 얘기하지만 .NET은 프로그래밍 언어가 아니다. 비록 .NET이라는 환경을 위한 다양한 언어들 (C#.NET, VB.NET, VC.NET, 등)을 제공하지만, 엄격히 말해 .NET을 프로그래밍 언어라고 볼 수는 없다. 여기서 얘기하고자 하는 .NET은 공통된 환경(CLR, Common Language Runtime)과 공통된 라이브러리(FCL, Framework Class Libraries)를 제공하는 사용자 플랫폼이라고 보면 될 것이다. 이를 위해 CLI(Common Language Infrastructure)에서 실행 코드와 실행 환경에 대한 명세를 제공한다. 서로 다른 언어들과 플랫폼에서 상호 호환성을 유지하기 위해서는 각각의 언어들이 플랫폼과 는 독립적으로 동일한 형태의 형을 지원해야 한다. 이를 .NET Framework에서는 CTS(Common Type System)라는 형태로 지원하고 있다. 자바의 JVM(Java Virtual Machine)과 비슷하다고 보면 된다. CTS은 다양한 형태의 형들에 대한 지원을 지원한다. CTS는 다양한 언어들의 컴파일러에 의해 공유되며, 공통된 형을 통해 다양한 언어들에 대한 통합, 형 안전성, 실행코드들의 성능을 향상 시킨다.

  CLI는 CTS에 정의된 형들에 대한 참조를 위해 메타 데이터를 사용한다. Metadata는 프로그램 언어에 독립적으로 저장된다. 그런 이유로, 메타데이터는 컴파일러나 디버그와 같은 툴과 VES(Virtual Execution System)사이에 교환 메커니즘을 제공한다. VES는 메타데이터와 수행가능한 관리 코드들에 대한 수행과 로딩을 담당하며, CLI기반의 언어들과 VES와 메타데이터들을 이용해서 통신이 가능하다.


  1.2 닷넷 프레임워크의 장단점

 


2. 닷넷 프레임워크 3.0

  닷넷 프레임워크 3.0은 .NET Framework 2.0에 WPF(Windows Presentation Foundation), WCF(Windows Communication Foundation), WF(Windows Workflow Foundation), CardSpace의 4가지 기술이 결합 확장된 형태라고 보면 된다. 닷넷 프레임워크 3.0를 이용하기 위해서는 각각의 프레임워크 SDK와 Visual Studio .NET 2005의 확장 플러그인 형식으로 제공되는 파일을 다운받아 이용할 수 있다. 여기서는  WPF, WCF, WF, CardSpace에 대한 각각의 소개는 다음으로 미루기로 하겠다.


3. C#에 대한 소개

  C#은 ECMA-334와 ISO/IEC 23270에 의해 표준화 되어 있으며, Microsoft의 C# 컴파일러는 이 표준에 따라 작성되었으며, 닷넷 프레임워크 하에서 돌아간다. C#은 C, C++, Java, Delpi와 같은 기존 프로그래밍 언어들에 영향을 받아 디자인 되었다. 현재는 닷넷 프레임워크 3.0이 릴리즈 되어 기존의 1.1에 비해 많은 API와 개선된 성능을 제공하고 있다. 닷넷 프레임워크 3.0은 기존의 닷넷 프레임워크 2.0 기반에 소개된 몇가지 구성요소들이 추가되어 있는 형태로서 닷넷 프레임워크 2.0을 그대로 이용하고 있다.

  C#의 장점은 닷넷 프레임워크의 장점을 그대로 가진다. 또한, 기존의 시스템들과의 통합된 개발이 가능하게 확장되어 있다.


4. Visual Studio .NET 2005

  4.1 Visual Studio .NET 2005 소개

  2005년 영문판을 정식 출시하면서 그 모습을 드러냈다. 한글판은 2006년 3월 출시 되었다. Visual Studio .NET은 개발자들이 .NET Framework하에서 돌아가는 프로그램을 개발하기 위한 통합 개발환경이다. 2005 버전에서는 다음과 같은 형태의 제품군들이 있다.

[표 1)] Microsoft VS .NET 2005 제품군 특징(MSDN 사이트 참조)

형태

Express

Edition

Visual

Studio

Standard

Edition

Visual

Studio

Professional

Edition

Visual

Studio

Tools For

Office

Visual

Studio

Team

System

IntelliSense

Yes

Yes

Yes

Yes

Yes

Code editor

Yes

Yes

Yes

Yes

Yes

Code snippets

Yes

Yes

Yes

Yes

Yes

언어 지원

VB, VC#,

VC++, VJ#

과 같은 단일 언어 지원

All

All

VB와 VC#

All

Office

개바 지원

No

No

No

Office 제품군

개발 지원

Office 제품군

개발 지원

사용자 지원

기본 옵션과

메뉴

기본 옵션과

메뉴

Full

Full

Full

윈폼 디자이너

VB, VC#,

VC++, VJ#

Yes

Yes

Yes

Yes

웹폼 디자이너

Visual Web

Developer

Yes

Yes

Yes

Yes

모바일 디바이스

지원

No

Yes

Yes

No

Yes

데이터베이스

디자인 도구

(테이블과

Stored

Procedure

생성/수정)

Local

Local과

Remote

Local과

Remote

Local과

Remote

Local과

Remote

데이터 엑세스

디자이너

Local

Local과

Remote

Local과

Remote

Local과

Remote

Local과

Remote

문서

기본 문서

MSDN

MSDN

MSDN

MSDN

클래스 디자이너 와 객체 테스트

No

Yes

Yes

Yes

Yes

XML 에디터

지원t

No

No

Full XML/

XSLT

Full XML/

XSLT

Full XML/

XSLT

배포 툴

Click Once

Click Once

Yes

Yes

Yes

소스 제어

No

MSCCI 호환

(Visual SourceSafe 별도 판매)

MSCCI 호환

(Visual SourceSafe 별도 판매)

MSCCI 호환

(Visual SourceSafe 별도 판매)

MSCCI 호환

(Visual SourceSafe 포함,

VS Team

Foundation Server 따로 판매)

디버깅

Local

Local

Local/

Remote

Local

Local/

Remote

64비트 컴파일러

지원(Itanium)

No

No

No

No

Yes

64비트 컴파일러 지원(X64)

No

Yes

Yes

Yes

Yes

서버 탐색기

No

No

All

All

All

SQL Server

2005 통합

No

No

Yes

Yes

Yes

Code Profiling

No

No

No

No

Yes

Static Analysis

No

No

No

No

Yes

단위 테스트

No

No

No

No

Yes

프로젝트 관리

No

No

No

No

Yes

Test Case

관리

No

No

No

No

Yes


  Visual Studio 외에도 .NET 개발환경으로서 Sharp Developer이라는 무료 IDE 환경이 존재한다. 여기서는 Visual Studio를 이용한 개발을 소개하며 따로 다른 IDE 환경에 대한 소개는 언급하지 않겠다.



/* 출처 */
inobae의 놀이터
http://blog.naver.com/inobae