C#은 모던하고, 일반적인 목적, 객체지향 개발 언어로 마이크로소프트에서 개발되었다.
C#은 Anders Hejlsberg 와 그의 팀이 .Net Framework.를 개발 하면서 만든 언어이다. C#은 CLI (Common Language Infrastructure) 기반위에 만들어졌고 코드도 이 기반위에서 동작한다. 쉽게 말해서 .Net Framework 기반위에서 동작한다고 생각하면 된다.
[C# 사용하는 이유]
Modern, general-purpose programming language (윈도우 데스크탑, 서버, 웹, HW Control 가능)
Object oriented. (객체 지향)
Component oriented. (여러 컴포넌트를 쉽게 사용 개발 가능하다.)
Easy to learn. (쉽게 배운다.)
Structured language. (구조화된 개발 언어이다.)
It produces efficient programs. (개발 생산성이 높다)
It can be compiled on a variety of computer platforms. (여려 플랫폼에서 컴파일 될수 있다고 MS는 말한다. 현실은 윈도우 BASE만)
Part of .Net Framework. (.Net Framework와 일심 동체 자웅동주이다. 서로 땔래야 땔수 없는 관계이다.)
[C# 중요하고 강력한 기능 목록]
Boolean Conditions
Automatic Garbage Collection (Java VM(Virtual Machine) 처럼 CLI가 메모리 관리를 해준다.
Standard Library (많은 표준 라이브러리 제공한다.)
Assembly Versioning (바이너리 버전 관리를 할 수 있다)
Properties and Events (속성, 이벤트 처리 가능하다.)
Delegates and Events Management (델리게이트(대리 함수) = 콜백함수 를 이용한 이벤트 처리가 가능하다.)
Easy-to-use Generics (쉽게 제네릭 처리가 가능하다.)
Indexers (객체(인스탄스)를 인덱서로 관리 가능하다.)
Conditional Compilation (32/64비트 및 CPU ARM, Intel등 나누어서 바이너리를 쉽게 만들 수 있다.)
Simple Multithreading (쉽게 멀티 스레드 개발이 가능하다.)
LINQ and Lambda Expressions (Linq와 Lambda 식을 사용할 수 있다.)
Integration with Windows (당연히 윈도우에 최적화 되어 있다.)
[C# 으로 개발 가능한 목록]
Windows applications [윈도우 Desktop, Server 어플리케이션]
Web applications [MVC를 이용해서 Java Spring처럼 웹 어플리케이션을 개발할 수있다.]
Web services [WebAPI를 개발할 수 있다. MS에 만든 WCF로도 개발 가능하다.]
[.NET Framework 제공하는 라이브러리 목록]
Common Language Runtime (CLR)
The .Net Framework Class Library
Common Language Specification
Common Type System
Metadata and Assemblies
Windows Forms
ASP.Net and ASP.Net AJAX
ADO.Net
Windows Workflow Foundation (WF)
Windows Presentation Foundation (WPF)
Windows Communication Foundation (WCF)
LINQ
현실적으로 다 공부하는 것은 불가능 하다. 그러므로 파란색 글씨로 표시한 부분을 중점적으로 학습하는것을 권장합니다.
[Helloworld.cs]
위 프로그램 코드 설명
- 첫줄 using 키워드는 System namespace를 가져다 사용하겠다는 의미이다. 즉, Java로 생각하면 import이고 C/C++로 설명하면 #include이다.
- namespace이다. namespace는 클래스 모음이다.( A namespace is a collection of classes.)
- C#은 객체 지향언어이다. 그래서 시작을 하는 프로그램 클래스를 Helloworld로 만든 것이다. 디폴트로 visualstudio 프로젝트 이름이 첫 클래스 이름이 된다.
- 프로그램 시작 함수 Main이다. 이 함수는 프로그램 1개만 있어야 하고 static으로 선언되어야 한다.
- Console.WriteLine 함수를 이용해서 화면에 "Hello World"를 출력한다.
- Console.ReadKey() 이 함수를 이용해서 사용로부터 키 입력을 대기한다. 여기서는 단순하게 프로그램 종료를 막기위해서 사용한 함수 이다.
다음 블로그 주제는 C# 키워드 및 Value Type에 대해서 알아볼 예정입니다.
'C#(CSharp) > 기초강좌(Basic)' 카테고리의 다른 글
[6] C# 비트와이즈 오퍼레이터. Misc(기타) 오퍼레이터(Bitwise, Misc Operators) (0) | 2015.02.23 |
---|---|
[5] C# 산술 연관 논리 오퍼레이터 (C# operators) (0) | 2015.02.23 |
[4] C# 변수, 상수, 문자 (C# Variables, Constants, Literals) (0) | 2015.02.23 |
[3] C# Type Conversion (C# 형 변환) (0) | 2015.02.23 |
[2] C# 키워드(Keyword) 와 데이터 타입(Data Type) (0) | 2015.02.23 |