IT Etc

[언어] Java vs. C# 비교

달별선장 2023. 8. 23. 08:16
728x90

개요 |

C# 은 Java 의 아쉬운 점을 극복하기 위해 등장한 마이크로소프트사에서 만든 언어입니다. 그러나 이미 Java 로 개발되어 있는 시스템들이 많고, 다른 대안이 되는 언어들의 등장이 있었습니다. 이러한 이유로 C# 은 주로 마이크로소프트 플랫폼용 소프트웨어를 개발하는 데에 사용되게 되었습니다.

 

비교 |

비교1. - Run Time Environment (런타임 환경)

Run Time Environment
Java C#
[1] Java Virtual Machine (JVM) 지원
Java 소스-> 컴파일 -> 바이트 코드로 변환 -> 변환된 바이트 코드가 JVM에 의해 네이티브 코드로 번역되어 실행됨
[1] Common Language. Runtime (CLR) 지원
.Net 소스 -> 컴파일 -> IL 로 변환 -> 변환된 IL 코드가 CLR에 의해 네이티브 코드로 번역되어 실행됨
[2] 번역된 네이티브 코드는 저장되지 않음 [2] 번역된 네이티브 코드는 캐싱됨
    -> 두 번째 실행 시, 캐싱된 네이티브 코드를 실행 
JVM CLR
Java 에서만 동작 CLS를 따르는 모든 언어가 동작 가능 (C#, Visual Basic 등)

비교2. - 프로젝트 실행

프로젝트 실행
Java C#
[1] 확장자 : .java [1] 확장자 : .cs
[2] 실행 단위 : file
    -> 1 file 당 main 함수 1개씩 존재 가능
[2] 실행 단위 : project
    -> 1 project 당 main 함수 1개 존재 가능
실행 속도는 Java 가 C# 보다 빠릅니다. 그러나 무겁지 않은 프로그램에서는 큰 차이가 나지는 않습니다.
다만, 게임 분야에서 그래픽 프로그래밍에서 rendering 하는 데 사용되는 연산은 거의 다 floating point 연산입니다.
때문에, 이러한 부분에 대한 성능은 Java 가 C# 에 비해 현저히 떨어집니다.

 

비교 other. - .etc

  1. 프로그램 구조
  2. 자료형, 키워드 등 문법

등 자세한 주제별 비교는 아래 글 참고

https://www.elex.pe.kr/entry/Java-cf-C-Sharp

728x90