.NET 프레임워크란? 250319
q1: .NET 프레임워크란?
a1:
.NET 프레임워크란?
.NET(닷넷) 프레임워크는 마이크로소프트(Microsoft)가 개발한 소프트웨어 개발 플랫폼입니다.
C#, VB.NET 등의 언어로 Windows 애플리케이션, 웹, 모바일, 클라우드 등 다양한 프로그램을 쉽게 개발할 수 있도록 도와주는 환경입니다.
⸻
1. .NET 프레임워크의 탄생 배경
✅ 언제?
• 2002년, .NET Framework 1.0이 출시됨
✅ 누가?
• **마이크로소프트(Microsoft)**가 개발
✅ 왜 만들었나?
• 1990년대 후반, Windows용 소프트웨어 개발이 복잡하고 언어마다 환경이 달라서 불편했음
• Java가 “JVM(Java Virtual Machine)”을 통해 여러 운영체제에서 실행되는 방식이 인기를 끌고 있었음
• 마이크로소프트는 Java와 비슷하게 하나의 공통 실행 환경에서 다양한 언어를 사용할 수 있는 플랫폼을 만들고 싶었음
• 그래서 C#, VB.NET 등의 언어를 통합하여 실행할 수 있는 .NET 프레임워크를 개발
⸻
2. .NET 프레임워크의 역할과 주요 특징
✅ 1. 다양한 프로그래밍 언어 지원
• C#, VB.NET, F# 등 다양한 언어를 사용 가능
• Java가 JVM을 통해 여러 언어를 실행하는 것처럼, .NET도 공통 실행 환경(CLR)을 제공
✅ 2. 공통 언어 런타임(Common Language Runtime, CLR) 제공
• **CLR(Common Language Runtime)**은 .NET에서 프로그램을 실행하는 핵심 엔진
• 모든 .NET 언어는 한 번 IL(Intermediate Language, 중간 코드)로 변환된 후 CLR이 실행
• C#, VB.NET 같은 다른 언어끼리도 상호 운용 가능
✅ 3. 풍부한 라이브러리 제공 (FCL, Framework Class Library)
• 파일 처리, 네트워크, 데이터베이스, 그래픽, 보안 등 다양한 기능을 미리 구현해 둠
• 개발자가 일일이 기능을 만들 필요 없이 편리하게 사용 가능
✅ 4. Windows 기반 애플리케이션 개발 지원
• .NET 프레임워크는 주로 Windows 프로그램 개발을 쉽게 하기 위해 만들어짐
• WinForms, WPF(Windows Presentation Foundation), ASP.NET 등을 지원
✅ 5. 메모리 자동 관리 (Garbage Collection)
• C++처럼 직접 메모리를 할당/해제할 필요 없이, .NET이 자동으로 메모리 관리(GC)
• 메모리 누수 방지 및 안정적인 프로그램 실행 가능
⸻
3. .NET 프레임워크가 없다면?
🔴 1. C#, VB.NET 같은 언어가 실행되지 않음
• C#과 VB.NET은 .NET 프레임워크 없이는 실행이 불가능
• 만약 .NET이 없었다면, C# 대신 C++ 또는 Java를 사용해야 했을 것
🔴 2. Windows 애플리케이션 개발이 복잡해짐
• 기존에는 Windows 프로그램을 만들려면 C++과 Win32 API를 사용해야 했음
• .NET 덕분에 훨씬 쉽게 GUI 프로그램 개발 가능
🔴 3. ASP.NET 기반 웹 애플리케이션이 불가능
• .NET이 없었다면 ASP.NET 대신 PHP, Java 등을 사용해야 했을 것
• 마이크로소프트 서버 환경에서 웹 개발이 불편해졌을 것
🔴 4. Unity 게임 개발도 어려워짐
• Unity 게임 엔진이 C#을 사용하므로, C#의 기반이 되는 .NET이 없으면 Unity도 어려워짐
• 다른 언어(C++)로 게임을 만들어야 하는데, 개발이 훨씬 어려워짐
⸻
4. 결론
✅ .NET 프레임워크는 Windows 소프트웨어 개발을 쉽게 하기 위해 마이크로소프트가 만든 플랫폼
✅ C#, VB.NET 등의 언어 실행을 가능하게 하고, 다양한 기능을 제공
✅ 없었다면 Windows 프로그램 개발이 훨씬 어려워지고, C# 같은 언어도 실행되지 않았을 것