☕ 자바는 "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#만 언급하는 건 부족하다
실행 환경을 함께 표현해주는 게 더 정확하다
'IT공부' 카테고리의 다른 글
[C#] 오버라이딩 정리 (0) | 2025.04.11 |
---|---|
[C#] 문자열 리터럴 vs 참조 타입 문자열 (0) | 2025.04.10 |
[C++] const T&(읽기 전용 참조), T&&(우변 참조, 이동 가능) (0) | 2025.03.22 |
[C++] 참조값 리턴 (0) | 2025.03.22 |
[운영체제] 시스템 콜(System Call) (0) | 2025.02.27 |