티스토리 뷰

학습/용어집

C#

대싕:) 2025. 2. 4. 23:43

C#은 Microsoft에서 개발한 객체 지향 프로그래밍 언어로, .NET 환경에서 강력한 기능을 제공하는 것이 특징입니다. 다른 언어와 비교했을 때 C#만의 주요 특징을 살펴보겠습니다.

C#의 특징

1. .NET과의 강력한 연계

  • C#은 .NET 프레임워크 및 .NET Core(현재 .NET 5 이상)와 긴밀하게 통합되어 있어, 다양한 플랫폼에서 실행 가능함.
  • 풍부한 라이브러리와 API 지원으로 빠른 개발이 가능.

2. 메모리 관리 (Garbage Collection)

  • C++처럼 명시적으로 메모리를 해제할 필요 없이, C#의 **GC(Garbage Collector)**가 자동으로 메모리를 관리.
  • IDisposable 인터페이스와 using 키워드를 활용하여 리소스 해제를 효과적으로 제어할 수 있음.

3. 안전한 타입 시스템 (Type Safety)

  • 컴파일 타임에서 타입 검사를 수행하여 타입 안정성을 보장.
  • Null 값 처리 강화를 위한 nullable reference types 도입(C# 8.0부터).

4. 이벤트 및 델리게이트 (Delegates & Events)

  • **델리게이트(Delegate)**를 통해 메서드를 변수처럼 다룰 수 있음.
  • **이벤트(Event)**를 활용하여 UI 프로그래밍 및 비동기 처리를 쉽게 구현 가능.

5. LINQ (Language Integrated Query)

  • 데이터베이스, XML, 컬렉션(List, Array 등) 등을 편리하게 쿼리할 수 있는 기능 제공.
  • SQL과 유사한 구문으로 데이터를 조작할 수 있음.
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();

6. 비동기 프로그래밍 (Async/Await) 지원

  • async와 await 키워드를 사용하여 비동기 작업을 간편하게 구현 가능.
  • 네트워크 요청, 파일 처리, DB 접근 등의 작업을 효율적으로 수행할 수 있음.
public async Task<string> GetDataAsync()
{
    HttpClient client = new HttpClient();
    return await client.GetStringAsync("https://example.com");
}

7. C#의 다양한 문법적 기능

  • 익명 타입(Anonymous Type)
  • 자동 구현 속성 (Auto-Implemented Properties)
  • 패턴 매칭 (Pattern Matching): switch문과 is 키워드를 활용한 강력한 패턴 매칭 지원
  • 튜플 (Tuples) 지원
var person = new { Name = "Alice", Age = 25 };  // 익명 타입(Anonymous Type)
public string Name { get; set; }  // 프로퍼티(Property)
if (target is DataType) { }   // 패턴 매칭 (Pattern Matching)
var person = ("Alice", 25);  // 튜플 (Tuples) 지원
Console.WriteLine(person.Item1);

8. 인터페이스와 추상화 지원

  • 다중 인터페이스 구현이 가능하며, interface를 통한 다형성을 적극 활용 가능.
  • C# 8.0부터 인터페이스에 디폴트 메서드(Default Interface Methods) 지원.

9. 크로스 플랫폼 개발 가능

  • .NET Core(현재 .NET 5 이상)와 함께 Windows, macOS, Linux에서 실행 가능.
  • Xamarin을 이용해 모바일(Android, iOS) 개발도 가능.
  • Unity 엔진과 함께 게임 개발에도 활용.

10. 강력한 예외 처리

  • try-catch-finally 구조를 통한 예외 처리 지원.
  • throw 키워드를 활용하여 사용자 정의 예외(Custom Exception) 생성 가능.

C#이 많이 쓰이는 분야 

웹 개발 – ASP.NET Core 활용
게임 개발 – Unity 엔진과 함께 사용
데스크톱 앱 개발 – Windows Forms, WPF 활용
모바일 앱 개발 – Xamarin을 이용한 Android/iOS 개발
클라우드 & 마이크로서비스 – Azure와 함께 .NET을 활용


정리

C#은 객체 지향 언어의 강력한 기능을 제공하면서도, .NET과의 연계, 자동 메모리 관리, 비동기 프로그래밍, 강력한 타입 시스템 등의 기능 덕분에 웹, 게임, 모바일, 클라우드 등 다양한 분야에서 활발하게 사용됩니다.

즉, 생산성이 높고 안정적인 프로그래밍이 가능한 언어라고 볼 수 있습니다. 

'학습 > 용어집' 카테고리의 다른 글

호이스팅 (Hoisting)  (0) 2025.02.03
데이터베이스  (0) 2025.01.22
프런트엔드 프레임워크(Front-end Framework)  (0) 2025.01.21
Nods.js  (0) 2025.01.19
libuv 라이브러리(Node.js)  (0) 2025.01.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함