2023. 3. 18. 15:54ㆍ공부/C#
C#의 특징
C#은 C++을 계승한 객체지향 언어이다. (++ 밑에 ++를 붙이면 #이 된다는 사실. C++을 계승한 언어에게 딱 맞는 이름이다.)
마이크로소프트의 앤더스 헤일스버그가 만들었으며 범용성이 좋은 .NET(닷넷)에 최적화된 언어라고 볼 수 있다.
그럼 C#의 특징을 몇 가지 살펴보도록 하자.
목차
1. .NET이란?
2. C#의 특징
3. C++와의 차이점
1. .NET이란?
.NET(닷넷)은 데스크톱과 웹, 모바일 어플리케이션, 게임, 사물인터넷등 다양한 프로그램을 빌드할 수 있는 오픈 소스 플랫폼이다. 때문에 하나의 프로그램을 다양한 플랫폼에서 실행할 수 있어 범용성이 좋은 프레임워크라고 한다. 닷넷은 마이크로소프트에서 제작되었기 때문에 윈도우 운영체제에서 가장 강력한 성능을 보인다.
C#은 이러한 .NET을 위한 언어로 제작되었다. 물론 C#외에도 C++와 같은 다른 언어들 또한 .NET 라이브러리를 사용할 수 있다. 하지만 C#은 닷넷의 모든 영역에서(닷넷 프레임워크, 닷넷 코어, 쟈마린 등) 사용할 수 있는 프로그래밍 언어라는 강력한 특징이 있다. (다른 언어를 사용하고자 한다면 방법이 있기야 하겠지만 C#을 사용하는 쪽이 훨씬 간편하다.)
이것이 우리가 닷넷에서 C#을 자주 사용하는 이유이다.
.NET Framework | .Net Core | Xamarin |
- 윈도우 환경에서 동작 - 웹 또는 어플리케이션을 개발할때 주로 이용 |
- 윈도우 뿐 아니라 리눅스, macOS등에서도 동작 가능. | - iOS, Android등 모바일 환경에서 앱을 개발하기 위해 주로 사용됨. |
2. C#의 특징
- 객체지향언어
- .NET Languae 언어들과의 연동성.
- 윈도우 운영체제에서 프로그램을 프로그램을 개발하기 용이함.
- 가비지 컬렉터 기능으로 메모리 관리가 수월함.
- 엄격한 문법체계로 에러가 적음.
- 다양한 통합개발환경(IDE)과 라이브러리를 제공해 보다 편리한 프로그래밍이 가능함.
3. C++와의 차이
- 같은 객체지향 언어지만 C++은 객체(Object), C#은 컴포넌트(Component)를 지향한다. 때문에 C#은 객체지향 언어임과 동시에 컴포넌트 지향 언어라고도 한다. 컴포넌트는 프로그래밍에서 재사용이 가능한 최소 단위를 의미하는데, 쉽게 설명하면 컴포넌트 지향 언어는 레고를 조립하고, 분해하고, 다시 조립하는 것 처럼 화면을 구성할 수 있다. (여기서 레고조각은 이미 만들어진 컴포넌트들을 뜻한다. 한 레고조각을 다른 레고조각으로 바꾼다 하더라도 조립이 가능한 것 처럼 컴포넌트들은 재사용과 이동이 자유로운 독립된 모듈이다.) 객체는 사물을 구성하는 눈에 보이지 않는 작은 단위라고 한다면 컴포넌트는 우리 눈에 보이는 조금 더 명확한 결과물이라고 생각하면 된다.
- C++에서는 new연산자로 할당한 동적 메모리를 delete를 통해 직접 해제해야 하지만 C#은 가비지 컬렉터를 이용해 자동으로 메모리를 해제해준다.앞서 C#의 특징으로 설명한 '메모리 관리가 수월하다'는 부분과 이어진다.
- C++은 모든 플랫폼에서 사용이 가능하지만 C#은 주로 윈도우 운영체에서만 사용된다.
'공부 > C#' 카테고리의 다른 글
[C#] foreach (0) | 2023.08.07 |
---|---|
[C#] 연산자(산술연산자, 증가/감소 연산자, 관계 연산자, 조건 연산자) (0) | 2023.04.15 |
[C#] 변수와 데이터타입 (const/enum/Nullable/var) (0) | 2023.04.01 |
[C#] 변수와 데이터 타입 (값형식, 참조형식) (1) | 2023.03.25 |
[C#] Hello, World! 출력하기 (0) | 2023.03.18 |