(특징 추가) |
편집 요약 없음 |
||
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등의 개념이 있다.) | ||
* 클래스 다중 상속은 | * 클래스 다중 상속은 불가능하다. (다만 인터페이스 다중 상속은 가능) | ||
* 기존에 만들어진 여러 클래스들 (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을 설치하여 개발할 수 있다.
개발 프로그램
- Visual Studio
- MonoDevelop / Xamarin Studio