C#이란?
C#은 기존 C++를 한 단계 더 업그레이드했다는 의미로 C#이라는 이름이 붙었습니다.
그만큼 C#의 기반은 C++라고 보는 것이 맞을 것입니다.
C#은 Java와 많이 비교되지만 개인적인 생각으로는 객체지향에 따른 느낌과
Java의 장점을 가져온 언어이기에 그런 것이라 생각합니다.
사실 C++를 공부한 사람들이라면 C#은 C++의 문법이 정리되어 사용하기 쉽게
되어있다는 느낌을 받을 수 있습니다.
(C++ 역시 객체지향을 지원하지만 절차지향과 일반화 프로그래밍까지 지원하기에
C++를 그냥 객체지향 언어라고 설명하기에는 뭔가 약간 부족한 느낌입니다.)
이러한 C#은 .Net의 개발과 함께 개발된 언어로 .Net의 특징이 곧 C#의 특징이라고 할 수 있습니다.
C#의 특징
C#의 특징으로는 당연히 객체지향 언어라는 것과 .Net을 가장 직접적으로 반영하고 강하게 의존한다는 점입니다.
그 외에도
- unsafe키워드를 이용하여 C의 포인터를 사용할 수 있다.
- 기존의 COM 컴포넌트도 사용할 수 있다.
- garbage collection 기능
이렇게 3가지가 제가 느끼는 가장 큰 특징이었습니다.
C#을 사용하면서
저는 주로 C#을 이용하는 개발자입니다.
고객사의 요청에 따라 간혹 C나 MFC로 별도의 프로그램을 구성하기는 하지만
C# 다루는 만큼 다루지는 못하는 것이 사실입니다.
지금 저와 같이 C#을 공부하던 친구들을 보면 아직도 C#을 쓰는 사람이 저 하나인 듯합니다.
그만큼 C#을 사용하는 분야가 제한적이라고 설명할 수 도있습니다.
그래도 Windows 프로그래밍에서는 가장 강력한게 C# 아닐까 합니다.
참고: https://en.wikipedia.org/wiki/C_Sharp_(programming_language)
상단 이미지 출처: https://en.wikipedia.org/wiki/C_Sharp_(programming_language)
'Programming > .NET' 카테고리의 다른 글
[C#] 01. 프로젝트 생성 & "Hello World" (0) | 2020.02.04 |
---|---|
[C#] 00. C# 시작하기(Visual Studio 설치하기) (0) | 2020.02.02 |
[.NET] .NET 리플렉션 (0) | 2020.01.14 |
[.NET] .NET 어셈블리(어셈블리의 구성) (0) | 2020.01.11 |
[.NET] .NET 어셈블리(어셈블리의 종류) (0) | 2020.01.10 |