|
|
|
## 닷넷 관련 키워드 정리
|
|
|
|
|
|
### .NET Framework
|
|
### .NET Framework
|
|
.NET Framework는 MS에서 발표한 응용 프로그램 개발 환경이다. 각종 응용 프로그램을 작성 및 실행 해주는 걸 도와줌으로써
|
|
.NET Framework는 MS에서 발표한 응용 프로그램 개발 환경이다. 각종 응용 프로그램을 작성 및 실행 해주는 걸 도와줌으로써
|
|
개발자가 응용 프로그램의 비즈니스 코드에만 집중할 수 있게 도와준다. .NET의 계층구조는 다음과 같다.
|
|
개발자가 응용 프로그램의 비즈니스 코드에만 집중할 수 있게 도와준다. .NET의 계층구조는 다음과 같다.
|
... | @@ -51,18 +53,42 @@ DLL의 내부에 구현된 API는 외부에서 참조 할 수 있지만 EXE는 |
... | @@ -51,18 +53,42 @@ DLL의 내부에 구현된 API는 외부에서 참조 할 수 있지만 EXE는 |
|
>>>
|
|
>>>
|
|
|
|
|
|
### Managed
|
|
### Managed
|
|
Managed란?
|
|
VB.NET 또는 C# 등의 소스코드가 컴파일러를 거친후 IL 코드로 변환되고, IL 코드가 CLR 통해 실행되는데 이 프로세스를 **Managed Process**라고 한다.
|
|
|
|
또한 CLR자체를 **Managed Environment**라고 하며,
|
|
|
|
.NET 호환 언어 역시 기존의 언어와 구분하는 의미에서 **Managed Language**라고 한다.
|
|
|
|
|
|
|
|
Managed Process를 그림으로 나타내면 다음과 같다.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
### Unmanaged
|
|
### Unmanaged
|
|
Unmanaged란? 비관리 언어? 네이티브 언어 : 컴파일러가 출력한 결과물이 특정 CPU를 위한 기계어 일때, 그니까 윈도우용 실행 파일은 리눅스에서는 실행이 안되지.
|
|
Managed와 달리 IL 코드 같은 중간 언어를 거치지 않고 컴파일 이후 바로 실행이 되는 머신 코드를 만들어 내는 것을 말한다. 속도에는 장점을 가지지만 보안, 메모리 관리 등을 직접 해줘야 하기 때문에 확장성에 한계가 있다.
|
|
|
|
|
|
|
|
Unmanaged Process를 그림으로 나타내면 다음과 같다.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
<br />
|
|
<br />
|
|
|
|
|
|
- - -
|
|
- - -
|
|
## 각 버전 간의 상관관계
|
|
## 각 버전 간의 상관 관계
|
|
|
|
C#은 .NET을 위해 만들어진 언어이다. 그래서 C#과 .NET은 같이 발전한다. 또한, 관련 도구인 Visual Studio도 같이 업데이트 된다.
|
|
### C#버전
|
|
C#, Visual Studio, .NET과의 버전 간의 상관 관계는 다음과 같다.
|
|
C#버전에 대해서
|
|
|
|
### .Net Framework 버전
|
|
C# 1.0 : Visual Studio .NET 2002 - .NET Framework 1.0
|
|
.Net Framework 버전에 대해서
|
|
C#은 1.0 발표, .NET은 최초버전
|
|
### Visual Studio 버전
|
|
|
|
Visual Studio 버전에 대해서 |
|
C# 2.0 : Visual Studio 2005 - .NET Framework 2.0
|
|
|
|
C#은 제네릭, 익명 함수 문법 추가. .NET은 제네릭 제공
|
|
|
|
|
|
|
|
C# 3.0 : Visual Studio 2008 ~ 2010 - .NET Framework 2.0 ~ 3.5
|
|
|
|
C#은 표현식, 확장 메서드, 익명 타입을 위한 문법을 추가, LINQ 구문을 언어적으로 지원. .NET은 LINQ, WCF, WPF, WF 제공
|
|
|
|
|
|
|
|
C# 4.0 : Visual Studio 2010 - .NET Framework 4.0
|
|
|
|
C#은 동적 언어와의 바인딩을 지원하는 dynimic 예약어 추가. .NET은 DLR 추가
|
|
|
|
|
|
|
|
C# 5.0 : Visual Studio 2012 ~ 2013 - .NET Framework 4.5
|
|
|
|
C#은 비동기를 위한 async/await 예약어 추가. .NET은 비동기 지원
|
|
|
|
|
|
|
|
C# 6.0 : Visual Studio 2015 - .NET Framework 4.6
|
|
|
|
|