본문 바로가기
Programming

[C#] .NET Framework에 대한 이해

by BTC_AMP 2023. 5. 20.

베하~!

할배즈....입니다.

.NET Framework는 Microsoft에서 개발한 소프트웨어 프레임워크로, 주로 Windows 운영 체제에서 실행되는 애플리케이션을 개발하기 위한 플랫폼입니다. 이 프레임워크는 대규모로 코드를 작성하는데 필요한 라이브러리와 여러 기능을 제공하며, 개발자에게 강력한 개발 도구를 제공합니다.

C# .Net Framework

특징 및 장점

  1. 클래스 라이브러리: .NET Framework는 포괄적인 클래스 라이브러리를 제공합니다. 이 라이브러리는 파일 입출력, 데이터베이스 상호 작용, 그래픽 렌더링, XML 문서 조작 등 다양한 기능을 수행하는 클래스와 메서드를 포함합니다.
  2. 언어 상호 운용성: .NET Framework는 언어 상호 운용성을 지원합니다. 이는 C#, VB.NET, F# 등 다양한 프로그래밍 언어를 동일한 런타임 환경에서 실행하고 개발자가 선호하는 언어를 선택할 수 있게 해줍니다.
  3. 공통 언어 런타임 (CLR): CLR은 .NET Framework의 핵심 구성 요소로, 코드 실행 및 가비지 수집 등의 기능을 담당합니다. CLR은 중간 언어 (Intermediate Language, IL)로 컴파일 된 코드를 실행시키며, 이는 다양한 .NET 언어 간의 상호 운용성을 가능하게 합니다.
  4. ASP.NET: ASP.NET은 웹 애플리케이션 및 서비스를 개발하기 위한 .NET Framework의 일부입니다. 이를 통해 개발자는 웹 사이트, 웹 API, 실시간 웹 기능 등을 쉽게 만들 수 있습니다.
  5. Windows Presentation Foundation (WPF): WPF는 Windows 애플리케이션의 사용자 인터페이스를 개발하기 위한 프레임워크입니다. WPF를 사용하면 복잡한 사용자 인터페이스, 2D 및 3D 그래픽, 문서, 멀티미디어 등을 구현할 수 있습니다.
  6. Windows Communication Foundation (WCF): WCF는 서비스 지향 애플리케이션을 개발하는 데 사용되는 프레임워크입니다. 이를 통해 다양한 통신 프로토콜과 메시지 패턴을 활용한 분산 애플리케이션을 만들 수 있습니다.

단점

  1. 크로스 플랫폼 지원의 한계: 초기 .NET Framework는 Windows 환경에만 집중되어 있었습니다. 이는 크로스 플랫폼 개발에 제한을 두었고, 이를 극복하기 위해 .NET Core가 개발되었습니다. 하지만 .NET Framework 자체는 여전히 윈도우 환경에만 제한적으로 사용할 수 있습니다.
  2. 성능: .NET Framework는 고수준 언어로 작성된 코드를 중간 언어로 컴파일한 뒤, CLR(Common Language Runtime)이 이를 기계 코드로 변환하여 실행합니다. 이런 추가적인 단계 때문에, 특정 상황에서는 C++과 같은 기계 코드로 직접 컴파일되는 언어보다 성능이 떨어질 수 있습니다.
  3. 버전 호환성 문제: .NET Framework의 새로운 버전이 출시될 때마다, 이전 버전과 완벽하게 호환되지 않는 경우가 종종 있습니다. 이는 기존 애플리케이션의 유지보수를 어렵게 만들 수 있습니다.
  4. 메모리 사용량: .NET Framework의 자동 메모리 관리 기능은 개발을 쉽게 만들지만, 때때로 비효율적인 메모리 사용으로 이어질 수 있습니다. 가비지 컬렉터는 메모리를 효과적으로 관리하지만, 많은 양의 메모리를 사용하는 애플리케이션에서는 성능 저하를 일으킬 수 있습니다.
  5. 학습 곡선: .NET Framework는 크고 복잡한 프레임워크입니다. 따라서 초기에는 학습하는 데 상당한 시간과 노력이 필요할 수 있습니다. 특히 다양한 클래스 라이브러리와 API를 숙지하는 것은 쉽지 않을 수 있습니다.

 

주사용처

  1. ASP.NET 웹 애플리케이션 개발: ASP.NET은 웹 애플리케이션과 서비스를 개발하기 위한 .NET Framework의 일부입니다. 다양한 웹 애플리케이션을 만드는데 쓰이며, HTML, CSS, JavaScript와 같은 웹 기술과 잘 통합됩니다.
  2. Windows Forms와 WPF 데스크톱 애플리케이션 개발: .NET Framework는 Windows Forms와 Windows Presentation Foundation(WPF)을 통해 풍부한 GUI 기능을 가진 데스크톱 애플리케이션을 개발하는데 사용됩니다.
  3. Windows 서비스 개발: Windows 서비스는 사용자의 상호작용 없이 백그라운드에서 실행되는 애플리케이션입니다. .NET Framework는 이러한 Windows 서비스 개발을 지원합니다.
  4. 데이터베이스 애플리케이션 개발: .NET Framework는 ADO.NET, Entity Framework, LINQ 등의 데이터 액세스 기술을 제공하여 SQL Server, Oracle, MySQL 등 다양한 데이터베이스와 연동한 애플리케이션 개발을 지원합니다.
  5. 웹 서비스 및 API 개발: .NET Framework는 SOAP 기반 웹 서비스와 RESTful 웹 서비스 개발을 모두 지원합니다. 이를 통해 다양한 클라이언트와 통신하는 웹 API를 만들 수 있습니다.

 

이상 .Net Framework 대한 간단한 소개였습니다!

다음 포스트에서는 .Net Framework 중 우리나라에서 가장 많이 사용되는 Winform에 대하여 알아보겠습니다!

'Programming' 카테고리의 다른 글

[C#] .NET Winform 개발환경 구성  (0) 2023.06.06
Spring이란?  (0) 2023.05.30
Springboot&Vue.js 연동  (0) 2023.05.12
MVC 모델이란?  (0) 2023.01.18
Front-End 란?  (1) 2022.09.26

댓글