IT공부

[ETC] 자바는 JVM 생략 OK, C#은 왜 .NET까지 묶일까?

shine94 2025. 4. 10. 12:34

☕ 자바는 "JVM 포함"이 당연한 생태계

   자바는 애초에 "Write Once, Run Anywhere"를 목표로 만들어진 언어다
   즉, 어디서든 돌아가려면 당연히 JVM이라는 실행 환경이 전제가 되어야 했다

 

   그래서 자바라는 의미에 사실상 자바 + JVM + 표준 라이브러리가 통째로 담겨있는 거고,
   이게 너무 당연하게 묶여 있어서 굳이 "자바 + JVM"이라고 말하지 않는다

   그냥 자바라고 한다

 

JUST 자바 😎😎😎

 

 

🧩 자바는 JVM 하나면 끝, C#은 선택부터 고민

   C#을 사용한다고 하면, 자연스럽게 따라붙는 게 하나 있다

   바로 실행환경이다!

 

   자바는 JVM 하나면 끝인데,

   C#은 .NET Framework, .NET Core, Mono, Unity 등 실행 환경이 제각각이다

 

   그래서 C#을 사용할 때는 어떤 플랫폼 위에서 쓰는지도 함께 말해줘야 한다

 

JUST C# with .NET Framework 😎😎😎

 

 

📝 더불어..ㅎ

   사실 처음에 .NET Framework라는 이름 보고, 부끄럽게도 지금까지 Spring 같은 구조적인 프레임워크를 생각했다

   (그냥 Framework라는 단어만 보고 Spring 느낌인 줄 알았던 1인... 🙋‍♂️)

   근데 알고 보니 .NET이라는 플랫폼의 구현체 중 하나였다

   이 글을 보고 저처럼 착각했던 분들이 있다면, 이 글이 작게나마 도움이 됐으면 좋겠다

 

 

🌐 실행 환경이 다양하다 = 플랫폼 이해가 더 중요해진다

  • .NET Framework (Windows 전용)
  • .NET Core / .NET 5~8 (크로스 플랫폼)
  • Mono (Unity 기반 등)
  • Unity 전용 런타임 (커스텀 Mono)
   이렇게 보다시피, 같은 C#인데도 어떤 환경이냐에 따라 개발 방식이나 느낌이 꽤 달라진다
 
 

🔚 정리하며

   자바는 JVM이라는 실행 환경이 너무 당연하게 깔려 있어서, 따로 언급할 필요가 없다

 

   반면,

   C#은 실행 환경이 워낙 다양하기 때문에, 단순히 C#만 언급하는 건 부족하다

   실행 환경을 함께 표현해주는 게 더 정확하다