책/C# 스타터

[C# 스타터] Chapter 1. 최소한의 지식

개발의 피 2022. 7. 31. 22:17
1.1 닷넷 프레임워크와 C#
1.2 개발 환경 준비 : 비주얼 스튜디오 커뮤니티 에디션
1.3 새 프로젝트 만들기 

 

1. 닷넷 프레임워크와 C#

1) .NET Framewokr(닷넷 프레임워크)

C# 소스 코드 -> CLR 로더 실행 -> MSIL(중간언어) 생성 -> C# 프로그램 실행

 

*닷넷 프레임워크 (닷넷)

- 2002년 마이크로소프트사에서 발표한 윈도우 기반 응용 프로그램의 개발 및 실행 환경

- 닷넷 기반 프로그램 : 오직 닷넷이 설치된 환경에서만 실행 가능

-> 컴퓨터 특정 운영체제가 아닌, 닷넷 환경 기반으로 동작 

 

cf. 기존 대부분의 프로그램 : 특정 운영체제를 기반으로 만듦 -> 설치되면, 중간 단계 거치지 않고 실행 

 

*CLR(Common Language Runtime) : 가상머신(VM, Virtual Machine) 

- 프로그램의 실행 요청 발생 -> CLR이 먼저 메모리에 적재, 이 CLR 위에서 프로그램이 실행되는 구조 

- 닷넷이 설치되어 있는 한, 사용자의 운영체제와 상관없이 프로그램을 실행할 수 있다 (획기적, 강력) 

-> 서로 다른 컴퓨터 환경을 위해 프로그램의 코드를 다시 짜고, 또 각각의 환경이 변할 때마다 코드를 수정해야 하는 불편함 해소 

 

* IL, MSIL(Microsoft Intermediate Language) : 중간 언어 ( <- 컴파일) 

CLR : 중간 언어를 기계어로 번역하여 실행하는 것 (닷넷을 기반으로 하는 모든 언어는 동일한 중간언어를 생성)  

 

2) C#(씨샵)

- 마이크로소프트사가 2000년 6월에 만든 객체지향 프로그래밍 언어 

- C, C++, 비주얼 베이직, 자바 장점까지 두루 가지고 있음

- C#의 개발 목적 : 닷넷 프레임워크 구현 

 

 

2. 개발 환경 준비 - 비주얼 스튜디오

IDE(Integrated Development Environment) : 통합 개발 환경

 

 

3. 새 프로젝트 만들기 

1) 새 프로젝트 만들기

파일 -> 새로 만들기(Ctrl + Shift + N) -> 프로젝트 -> 콘솔 애플리케이션

- 콘솔 (프로그래밍) : 키보드(입력 장치)와 기본적인 출력 장치(모니터)만을 가진 환경 

 

 

2) 컴파일 

컴파일(compile) : 인간이 이해할 수 있는 형태의 코드를 컴퓨터가 이해할 수 있는 기계어로 바꾸는 작업

- 빌드 -> 솔루션 빌드 (Ctrl + Shift + B)

- 디버그 -> 디버그하지 않고 시작 (Ctrl + F5) : 컴파일을 실행한 뒤, 결과 화면까지 보여줌 

 

* 컴파일러 vs. 인터프리터 (작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 바꿔주는 작업)

- 컴파일러(C, C++) : 소스코드를 자신이 동작할 컴퓨터 환경에 맞춰 기계어로 번역한 뒤, 이 기계어를 실행하는 방식

장점 : 빠른 실행 속도, 안정성

 

- 인터프리터(Java Script, Python) : 소스코드의 형태로 존재하는 프로그램을 실행 시점에 기계어로 번역하는 방식

장점 : 코드 수정이 상대적으로 쉬움

단점 : 실행 속도가 컴파일 계열 언어에 비해 느림

 

- C#, Java : 컴파일러와 인터프리터 언어, 각각의 장점을 결합한 형태 사용