깡통 개발자의 C# 익히기 -제 2강- (.NET FRAMEWORK)
이번 강좌는 간단하게 나마 .NET FRAMEWORK에 대해서 알아보겠습니다. 2강 내용이 많아서 정리하는라고 좀 늦었습니다. 이해바랍니다. 4강까지는 거의 기본환경이나 기초지식에 대한 강좌입니다. 지루하시더라도 많은 성원바랍니다.
■ .NET FRAMEWORK의 객체지향
클래스(CLASS) : 객체를 생성하는 데이터 원본
Abstraction(추상화)
Encapsulation(은닉)
Inheritance(상속)
Polymorphism(다형성)
※ 객체 지향에 대한 더 자세한 내용은 Visual C++ Lecture 에 제가 게제한 "[특강]깡통 개발자의 객체지향 개념" 이란 제목의 강좌가 있습니다. 이 강좌를 참고하시기 바랍니다.
<참고>
언어/구분 |
속성(Attribute) |
행위(Behavior) |
비주얼C# |
데이터 멤버(data member) |
함수 멤버(function member) |
비주얼C++ |
멤버 변수(member variable) |
멤버 함수(member function) |
비주얼베이직 |
속성(property) |
메소드(method) |
자바 |
필드(field) |
메소드(method) |
델파이 |
속성(property) |
메소드(method) |
■ .NET FRAMEWORK 구성
WEB Services, User Interface | ADO.NET : Data & XML | Base Class Library | Common Language Runtime |
▷Common Language Runtime
- 어떤 언어로 작성된 프로그램이 실행되기 위해 컴퓨터가 내장하고 있어야할 컴포넌트.
<컴파일 생성단계>
- 소스코드 및 메타데이타 같이 컴파일
- 원래소스코드와 다른 언어의 코드와 병행 링킹 및 생성
- Base Class Library와 .NET 프래임워크 정보를 포함하여 형안성화
<특징>
- 언어 상호 운용성
어떤 .NET언어로 작성된 소스 코드도 첫번째 컴파일 과정을 거치면 표준화된 IL코드로변환된다. 다른 IL코드를 붙여 어플리케이션을 구축하게 된다.
- 플랫폼의 독립성
IL 코드는 CLR Interpreter와 Base Class Library가 장착되면 실행가능 Common Language Runtime은 응용프로그램 개발을 단순하고 견고하게 해준다.
<관리환경>
- 클래스 로더(Class Loader)
메타 데이터와 클래스의 로딩 및 배치(Layout)을 관리한다.
- 중간 언어를 원시코드로 변환하는 컴파일러(IL to Native Compilers)
IL(Intermediate Language)을 원시코드(Native)로 변환한다.(just-in-time)
- 코드관리자(Code Manager)
코드의 실행을 관리한다.
- 가비지 콜렉션(GC:Garbage Collection)
모든 개체들의 lifetime을 자동 관리한다. 이것은 멀티 프로세서이자, 확장 가능한 가비지 콜렉터이다.
- 보안엔진(Security Engine)
사용자 뿐 아니라 코드의 출처에 근거한 evidence-based security를 제공한다.
- 디버그 엔진(Debug Engine)
응용 프로그램을 디버그하고, 코드 실행을 추적할 수 있게 한다.
- 형 검사자(Type Checker)
안전하지 않은 형 변환이나 초기화되지 않은 변수가 존재할 수 없게 한다.IL코드가 형 안정선을 유지하도록 보장해 준다.
- 예외 관리자(Exception manager)
Windows Structured Exception Handling(SHE)와 통합되어, 구조화된 예외 처리를 가능하게 한다. 오류 리포팅이 향상되었다.
- 스레드 지원(Thread Support)
멀티 스레드 프로그래밍을 가능하게 하는 클래스들과 인터페이스들을 제공한다.
- COM Marshaler
COM과의 마샬링(marshaling)을 제공한다. 마샬링은 스레드 또는 프로세스의 경게를 가로질러 인터페이스 메서드 호출을 포장하고 전송하는 프로세스이다.
- Base Class Library지원(BCL Support)
BCL을 지원하는 런타임과 코드를 통합한다.
▷Base Class Library
- Base Class Library(BCL)는 런타임의 기능을 노출시키고 개발자가 필요로 하는 high-level서비스들을 네임스페이스(Namespace)를 통해서 제공.
Base Class Library
System ──────────→Fundamental data type.
├──Collections────→ordered list, hash table, group
├──Configuration
├──Diagnostics
├──Globalization
├──IO ────────→File IO/Stream
├──Net────────→TCP/IP
├──Reflection
├──Resource
├──Runtime
├──Security
└──Text
▷ADO.NET
ActiveX Data Object(ADO)기술
비연결형 프로그래밍 모델(Disconnected programming model)
ADO.NET
System.Data
├──ADO
├──Internal
├──SQL
└──SQLTypes
- ADO.NET 개체 모델을 구성하는 클래스
- Table & Reation -> DataSet 클래스
- 다양한 데이터 원본을 사용(XML, OLEDB, SQL서버)
System.XML
├──Xsl
├──XPath
└──Serialization
- XML을 지원
- XML 변환기(parser)와 작성기(writer)를 제공
- XSLT네임스페이스 -> XSL-Transformation을 제공
- XPath는 데이터 검색을 가능하게 하는 QL 제공
- Serialization는 웹 서비스 전체적인 핵심 인프라제공
- 개체(object)를 XML 표시 형식으로, 또는 그 반대로 변환할 수 있는 기능을 포함
<<출처>> 데브피아
'C# .NET' 카테고리의 다른 글
c# 도형그리기 (0) | 2008.11.20 |
---|---|
깡통 개발자의 C# 익히기 -제 3강- (CLASS에 대해서...) (0) | 2008.11.14 |
깡통 개발자의 C# 익히기 -제 1강- (C#의 특징) (0) | 2008.11.14 |
메모리 관리와 동적 할당.. C (0) | 2008.11.13 |
메모리(힙과 스텍, 데이터영역)의 이해 (0) | 2008.11.13 |