개발/C#

[C# ] 자습서 1장 - 닷넷

by Majangnan 2023. 1. 2.

닷넷과 C#

C#을 공부하면서 닷넷과 C#이 헷갈렸는데, 책을 참고하여 차이점을 어느정도 알게 되었다.

한 마디로 말하자면 닷넴 프레임워크는 프로그램이 실행되는 환경이고, C#은 프로그램을 개발하는 언어이다. 

 

.NET

닷넷(.NET)은 마이크로소프트가 호환성 문제를 극복하기 위해 출시한 플랫폼 독립적인 실행 환경이다. 똑같은 프로그램이라도 윈도우, 리눅스, 맥 따로 만들고 관리하다 보니 비용 문제와 낭비가 심했는데, 하나의 소프트웨어가 플랫폼에 상관없이 실행된다면 이상적이다. 이러한 호환성 문제를 해결하기 위해 닷넷을 만들었다. 플랫폼 독립 실행 환경은 기존에도 그것이 바로 존재했는데 '썬 마이크로시스템즈' 에서 발표한 JAVA이다. 닷넷은 자바보다 상대적으로 늦게 등장하였으므로 자바의 모방작이라는 주장이 있고 실제로도 어느 정도는 영향을 받았다. 결국 자바와 닷넷은 지향점이 비슷한 경쟁 관계인 것이다.

 

닷넷의 구조

전통적인 컴파일러가 소스 코드를 기계어로 바로 변환하는데 반해, 닷넷 컴파일러는 기계어가 아닌 중간 코드를 만든다. 중간 코드는 가상의 명령어여서 직접 실행할 수 없으며 네이티브 코드로 변환해야 한다. 중간 코드를 기계어로 컴파일하는 작업은 JIT(Just In Time) 컴파일러가 담당하는데 각 플랫폼별로 JIT 컴파일러가 따로 제공된다. 중간 코드로 만들어 놓고 JIT 컴파일러만 바꾼다면 어떤 플랫폼에서나 실행 가능한 것이다.  

 

닷넷 컴파일러

 

장단점

장점

  • 완전한 객체지향 환경이어서 배우기 쉽고 사용하기 쉽다.
  • 프로그래밍 환경이 쾌적하다. 메모리 관리가 쉽다.
  • 지원 범위과 광범위 하다.

단점

  • 중간 코드를 생성하기 때문에 속도가 느리다.
  • 단독 실행 파일을 만들 수 없어 닷넷 프레임워크를 설치해야 한다.

 

 

 

 

 

 

 

 

 

 

 

이미지 출처: http://soen.kr/book/dotnet/book/121.htm

 

http://soen.kr/book/dotnet/book/121.htm

1-2-1.플랫폼 독립 전통적인 컴파일러는 소스 코드를 CPU가 실행할 수 있는 기계어로 변환한다. 그러다 보니 컴파일 결과로 만들어진 실행 파일은 특정 환경에서만 실행되며 다른 플랫폼으로 이식

soen.kr

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

[C#] 자습서 6장 - 함수  (0) 2023.01.11
[C#] 자습서 5장 - 클래스  (0) 2023.01.10
[C#] 자습서 4장 - 제어문  (1) 2023.01.05
[C#] 자습서 3장 - 변수  (0) 2023.01.04
[C#] 자습서 2장 - 입출력  (0) 2023.01.03

댓글