C#: 두 판 사이의 차이

(특징 추가)
편집 요약 없음
1번째 줄: 1번째 줄:
== 간단한 소개 ==
C#은 마이크로소프트에서 개발하고 실행시 JRE를 필요로 하는 Java와 같이 실행시 .NET Framework를 필요로 하는 객체지향적 프로그래밍 언어로 윈도우 프로그램, 웹 프로그램, 웹 서비스 등을 개발할 수 있다.<ref>[https://msdn.microsoft.com/ko-kr/library/hh145616%28VS.88%29.aspx MSDN 문서]</ref>
C#은 마이크로소프트에서 개발하고 실행시 JRE를 필요로 하는 Java와 같이 실행시 .NET Framework를 필요로 하는 객체지향적 프로그래밍 언어로 윈도우 프로그램, 웹 프로그램, 웹 서비스 등을 개발할 수 있다.<ref>[https://msdn.microsoft.com/ko-kr/library/hh145616%28VS.88%29.aspx MSDN 문서]</ref>
C# 프로그램은 [[Just-in-time_컴파일|실행시에 컴파일]]된다.


프로그래밍 언어의 명세는 [http://www.ecma-international.org/publications/standards/Ecma-334.htm ECMA-334] 표준이다.
프로그래밍 언어의 명세는 [http://www.ecma-international.org/publications/standards/Ecma-334.htm ECMA-334] 표준이다.
== 특징 ==
== 특징 ==
* 객체지향적이다. (class, struct, interface등의 개념이 있다.)
* 객체지향 패러다임이다. (class, struct, interface등의 개념이 있다.)
* 클래스 다중 상속은 불허하나 인터페이스 다중 상속이 가능하다.
* 클래스 다중 상속은 불가능하다. (다만 인터페이스 다중 상속은 가능)
* 소스코드를 VB.NET언어로 쉽게 변환할 수 있다. <del>VB.NET도 C#도 결과는 CIL니까</del>
* 기존에 만들어진 여러 클래스들 (e.g. System.XML.XMLDocument)을 쉽게 사용할 수 있어 생산성이 높다.
* 기존에 만들어진 여러 클래스들 (e.g. System.XML.XMLDocument)을 쉽게 사용할 수 있다.
* 가베지 콜렉터가 있어 메모리 관리에 신경 쓸 필요가 적다.
* 가베지 콜렉터가 있다.
* unsafe 블럭 내에서 포인터 연산을 할 수 있다. (다만 권장되진 않는다.)
* unsafe 블럭 내에서 포인터 연산을 할 수 있다. (다만 권장되진 않는다.)


== Mono ==
== Mono ==
C# 및 VB.NET 등 .NET 계열 언어로 만들어진 프로그램들은 보통 윈도우에서 구동되지만 Java과 같은 중간 언어 (CIL, MSIL로 불리기도 한다.)를 가지기에 리눅스에서도 mono를 사용하면 CIL로 작성된 프로그램(C# 또는 VB.NET으로 작성된 프로그램) 구동할 수 있다.
C# 및 VB.NET 등 .NET 계열 언어로 만들어진 프로그램들은 보통 윈도우에서 구동되지만 Java과 같은 중간 언어 (CIL, MSIL로 불리기도 한다.)를 가지기에 리눅스에서도 mono를 사용하면 CIL로 작성된 프로그램(C# 또는 VB.NET으로 작성된 프로그램) 구동할 수 있다.
다만 오류가 날 수도 있고 윈도우 플랫폼에서만 작동되는 코드<del>[DllImport]</del>가 있을 수 있기에 모든 C# 프로그램들을 안정적으로 돌릴 순 없다.
== 안드로이드/iOS 어플리케이션 개발 ==
Xamarin을 설치하여 개발할 수 있다.
== 개발 프로그램 ==
* [[마이크로소프트_비주얼_스튜디오|Visual Studio]]
* MonoDevelop / Xamarin Studio


<references />
<references />
[[분류: 컴퓨터 프로그래밍]]
[[분류: 컴퓨터 프로그래밍]]

2015년 4월 21일 (화) 18:16 판

C#은 마이크로소프트에서 개발하고 실행시 JRE를 필요로 하는 Java와 같이 실행시 .NET Framework를 필요로 하는 객체지향적 프로그래밍 언어로 윈도우 프로그램, 웹 프로그램, 웹 서비스 등을 개발할 수 있다.[1]

C# 프로그램은 실행시에 컴파일된다.

프로그래밍 언어의 명세는 ECMA-334 표준이다.

특징

  • 객체지향 패러다임이다. (class, struct, interface등의 개념이 있다.)
  • 클래스 다중 상속은 불가능하다. (다만 인터페이스 다중 상속은 가능)
  • 기존에 만들어진 여러 클래스들 (e.g. System.XML.XMLDocument)을 쉽게 사용할 수 있어 생산성이 높다.
  • 가베지 콜렉터가 있어 메모리 관리에 신경 쓸 필요가 적다.
  • unsafe 블럭 내에서 포인터 연산을 할 수 있다. (다만 권장되진 않는다.)

Mono

C# 및 VB.NET 등 .NET 계열 언어로 만들어진 프로그램들은 보통 윈도우에서 구동되지만 Java과 같은 중간 언어 (CIL, MSIL로 불리기도 한다.)를 가지기에 리눅스에서도 mono를 사용하면 CIL로 작성된 프로그램(C# 또는 VB.NET으로 작성된 프로그램) 구동할 수 있다.

다만 오류가 날 수도 있고 윈도우 플랫폼에서만 작동되는 코드[DllImport]가 있을 수 있기에 모든 C# 프로그램들을 안정적으로 돌릴 순 없다.

안드로이드/iOS 어플리케이션 개발

Xamarin을 설치하여 개발할 수 있다.

개발 프로그램