닷넷 프레임워크 = 클래스 라이브러리(윈폼,ASP.NET, ADO.NET, BCL) + CLR

C# = C#언어(c++언어+ java 장점) + 클래스 라이브러리


클래스 라이브러리 구성요소

BCL( Basic Class Library ) : 기본 라이브러리 ex) System.String, System.DateTime 등등.

Window Form : 윈도우 응용프로그램 제작을 위한 클래스 라이브러리

ASP.NET : 웹 클래스 라이브러리

ADO.NET : 데이터 베이스 클래스 라이브러리

CLR(Common Language Runtime) :컴파일된 C#코드(dll,exe)를 실행하는역할.


 

C# 프로그램 실행 과정:

C#(.cs)컴파일->DLL,exe파일 생성 -> IL(JIT컴파일러, 가비지컬렉터)가 DLL,exe파일을 기계어 코드로 변환 -> CLR이 OS에게 전달

->OS가 프로그램 실행.


C++과 다른점


char가 2byte(유니코드 표현을 위해)

구조체에서 const,static 변수만 초기화 가능.

구조체 안에서 생성자는 반드시 매개변수가 있어야한다.

구조체는 구조체,클래스를 상속할수 없다(C++은 가능)

구조체는 인터페이스를 상속하여 메서드를 구현할수 있다.(인터페이스는 다중상속가능.)

구조체는 값형식이고 클래스는 참조형식이다.


참조형식 new를 이용해서 사용가능: 한객체를 참조형 변수가 사용할때 참조형에 의해 내용이 바뀐 객체에 영향준다.

반면에 값형식은 또다른 메모리를 잡음. 즉 별개의 메모리에 별도로 선언되는 변수.


열거형: 상수를 문자열로 대치하여 선언 가능. ex) case "hi" : 블라블라 break;

if문 안에 true,false만 들어올수있다. 상수 x

@: 두에 모든 문자열을 경로로 인식한다. 사용하지않으면 \\를 두번씩 써야한다. 




그외

CTS(Common Type System): 공통 데이터형과 형식 정의 System.Int32

CLS(Common Language Specification): 공통 언어 사양 정의(규칙문법)


결론: 속도적인 측면에서 빠르고(멀티코어) 포인터가없고 무수히 많은 라이브러리를 잘사용해서 잘적용하면

4차산업혁명에 걸맞는 프로그램을 짤수있다 (IOT,AI,Deep Learnning 등등)

'C#, ASP.NET, CORE, MVC' 카테고리의 다른 글

5강. 클래스 OOP  (1) 2018.07.19
4강. 파일 입출력  (0) 2018.07.19
3강. 배열  (2) 2018.07.19
2강. 데이터형,기본문법  (0) 2018.07.18
[C#] 박싱 & 언박싱  (0) 2018.07.18

+ Recent posts