C#

닷넷이 뭐길래?

록's 2025. 4. 29. 09:42
728x90
반응형

 

 

C#을 쓰다 보면 꼭 따라붙는 게 바로 닷넷(.NET)이다. 처음엔 "C#이랑 닷넷이 뭐가 다른 거지?" 싶을 수 있는데, 쉽게 말하면 닷넷은 C#이 돌아가는 집, 혹은 무대 같은 존재다.

닷넷(.NET)이란?

닷넷은 마이크로소프트에서 만든 개발 플랫폼이다.
한마디로, 앱을 만들고 실행할 수 있게 도와주는 뼈대 같은 역할을 한다.
예전에는 윈도우, 리눅스, 맥 각각 따로 프로그램을 만들어야 했는데, 닷넷 덕분에 한 번만 만들면 여러 플랫폼에서 돌아가게 할 수 있다.
그래서 C#, F#, 비주얼 베이직 등 여러 언어로 짠 프로그램을 닷넷 위에서 돌릴 수 있다.

닷넷의 핵심 구조

  • CLR (공용 언어 런타임)
    닷넷의 심장 같은 존재다.
    우리가 C#으로 코드를 짜면, 바로 기계어로 바뀌는 게 아니라 중간 단계인 'IL(중간언어)'로 한 번 바뀐다.
    이 IL을 CLR이 받아서 실제 내 컴퓨터에서 실행할 수 있는 기계어로 바꿔준다.
    이 과정에서 메모리 관리, 예외 처리, 보안 같은 것도 CLR이 알아서 해준다.
  • BCL (베이스 클래스 라이브러리)
    파일 읽고 쓰기, 데이터베이스 연결, 네트워크 통신 등 자주 쓰는 기능들이 미리 클래스(도구)로 준비되어 있다.
    개발자는 이걸 가져다 쓰기만 하면 된다.
    덕분에 복잡한 기능도 쉽게 구현할 수 있다.

닷넷이 왜 필요할까?

예전에는 윈도우용, 리눅스용, 맥용 프로그램을 각각 따로 만들어야 했다.
그런데 닷넷은 한 번만 개발하면(예: C#으로) 여러 운영체제에서 돌아가게 해준다.
이게 바로 크로스플랫폼 지원이다.

그리고 닷넷은 자동 메모리 관리(가비지 컬렉션), 보안, 예외 처리 등 개발자가 신경 써야 할 부분을 많이 대신 처리해준다.
덕분에 개발자는 핵심 기능 구현에 집중할 수 있다.

닷넷의 발전

원래 닷넷은 윈도우 전용(.NET Framework)이었는데, 요즘은 닷넷 코어(.NET Core), 닷넷 5/6/7처럼
윈도우뿐 아니라 리눅스, 맥에서도 쓸 수 있게 계속 발전하고 있다.

정리

  • C#은 언어, 닷넷은 그 언어가 돌아가는 환경
  • 닷넷 덕분에 한 번 개발해서 여러 플랫폼에서 실행 가능
  • CLR과 BCL 등 강력한 기능 제공
  • 개발이 훨씬 편해지고, 다양한 분야(웹, 앱, 게임 등)에 활용 가능

C#만 알면 충분할 줄 알았는데, 막상 개발하다 보면 닷넷이 뭔지 꼭 궁금해진다.
나도 처음엔 감이 안 왔지만, 직접 프로젝트 만들어보고 실행해보니 자연스럽게 이해됐다.
결국 닷넷 구조를 조금만 알아둬도 개발이 훨씬 편해진다.


 

728x90
반응형

'C#' 카테고리의 다른 글

예외가 뭐길래? C# try-catch-finally 한 번에 정리  (0) 2025.04.30
C#이란?  (1) 2025.04.29