※ 이전 블로그의 포스트임(2016/10/31)
무언가 새로 시작하기 위해 관련 서적을 읽을 때 큰 난관 중 하나는 용어나 약어들의 생경함에서 오는 답답함이다.
단락마다 한가득인 생소한 용어들을 되새김질하며 읽다보면 1시간에 몇 페이지를 넘기기도 힘들어진다.
그렇다고, 되새김 없이 스킵하면서 읽다보면 내가 지금 한글을 읽고 있긴 한건가 하는 의심이 든다.
그러므로, 빠른 진도를 위해서는 무릇, 용어나 약어에 최대한 익숙해질 필요가 있다.
이제, C# 공부를 위해 용어 정리부터 시작한다. 일이 일을 만들면 안되므로 한줄로 간략히 정리하련다.
.NET Compliant Language : .NET 을 이용할 수 있는 언어. C#이 대표적
CIL(Common Intermediate Language) : 자바 bytecode 와 동일 개념.
CTS(Common Type System) : .NET 언어가 지켜야 할 공통의 type 에 대한 정의. int 같은 primitive 뿐만 아니라 enum이나 class(엄연히 user type이다.) 같이, type이라고 할 수 있는 모든 범위에 대한 정의를 담고 있다.
CLS(Common Language Specification) : .NET 언어가 필히 지켜야 할 규격. 예를 들면, 모든 .NET 언어는 변수 MyVar와 myvar가 서로 다른 변수라고 인식하게 되는데, 이는 CLS에서 대소문자를 구분해야 한다고 명시가 되어 있기 때문이다. CLS와 CTS가 다소 헤깔리는데, 꼭 이해하고 넘어가자.
Metadata : .NET 코드를 컴파일하였을 때 CIL 외에 나오는 결과물. 클래스 이름, 함수 인자/형식 등을 표현.
Assembly : 실행 파일
Module : 컴파일한 클래스
Manifest : Assembly 내에 포함된 Module의 리스트 및 관련 정보
CLI(Common Language Infrastructure) : CIL 및 CIL을 구동해주는 system에 대한 규격 명세. 자바 VM(Virtual Machine)과 동일 개념
CLR(Common Language Runtime) : CLI를 실제 구현한 실체. 즉, .NET Framework 설치하면 들어 있는 것.
BCL (Base Class Library) : JDK, MFC, boost 같은 library 패키지
.NET Framework : CLR과 BCL 그리고 몇가지 유틸리티를 묶은 패키지. 그래서, 설치를 해야 하지만, 요즘 윈도에는 기본으로 설치 되어 있더라.
C# : .NET을 지원하는 언어 중 하나. 언어 이름 유래는 C++의 ++ 위 ++을 덧붙여서 우물정 모양으로 만들었다는 얘기도 있고, #이 글자 그대로 sharp(올림)의 의미로 쓰였다는 얘기도 있고... 어쨌든, C++ 하고 비슷하지 않다고 할 수 없다!
'Book Study > 시작하세요! C# 6.0 프로그래밍' 카테고리의 다른 글
교재(시작하세요 C# 6.0)에 대한 고찰 #1 - 첨자/색인(index/subscript) (0) | 2020.02.09 |
---|---|
C#의 변수, 배열, 범위(scope), 참조(reference) #1 (0) | 2020.02.09 |
C#의 기본 자료형 (0) | 2020.02.09 |
MonoDevelop을 써볼까. (inc. 설치 방법) (0) | 2020.02.09 |
C# 스터디를 시작하려고 한다. (0) | 2020.02.09 |