Java와 C #의 차이점

주요 차이점 : Java는 C 언어의 영향을받은 프로그래밍 언어입니다. C 및 C ++에서 문법의 대부분을 파생하지만, 어느 것보다 낮은 수준의 기능을 가지고 있습니다. Java는 이전 언어와 비교하여 구현 종속성이 적도록 설계된 범용 프로그래밍 언어입니다. C #은 날카로운 것으로 알려져 있으며 객체 지향 프로그래밍 언어입니다. C #은 다중 패러다임 프로그래밍 언어입니다. C #은 C 프로그래밍 언어를 기반으로합니다. 원래 Anders Hejlsberg에 의해 .NET 프레임 워크에서 사용하기 위해 Microsoft 용으로 개발되었습니다.

Java는 C 언어의 영향을받은 프로그래밍 언어입니다. C 및 C ++에서 문법의 대부분을 파생하지만, 어느 것보다 낮은 수준의 기능을 가지고 있습니다. Java는 이전 언어와 비교하여 구현 종속성이 적도록 설계된 범용 프로그래밍 언어입니다. 동시, 클래스 기반 및 객체 지향 언어입니다.

Java는 Sun Microsystems의 James Gosling에 의해 개발되었으며 1995 년에 릴리스되었습니다. 원래 Sun Microsystems의 Java 플랫폼의 핵심 구성 요소로 릴리스되었습니다. Sun은 GNU General Public License에 따라 Java 기술의 대부분을 재 라이센스했습니다. 즉, GNU 일반 공중 라이선스에 따라 라이선스가 허여 된 모든 기술은 오픈 소스이며 일반적으로 무료로 사용할 수 있습니다. Sun Microsystems는 결국 Oracle Corporation으로 합병되었습니다.

Java는 다양한 플랫폼에서 동일한 코드를 실행할 수 있도록 설계되었습니다. 즉 개발자는 "한 번만 작성하여 어디서나 실행"(WORA) 할 수 있습니다. 따라서 Java 응용 프로그램은 일반적으로 바이트 코드로 컴파일됩니다. Java 바이트 코드가 포함 된 클래스 파일은 모든 JVM (Java Virtual Machine)에서 실행될 수 있습니다. 이는 컴퓨터 아키텍처에 관계없이 이루어집니다.

2012 년 현재 Java는 가장 많이 사용되는 프로그래밍 언어 중 하나입니다. 이는 특히 클라이언트 - 서버 웹 응용 프로그램에 해당됩니다. 다른 많은 시스템에서는 Java 용 GNU Compiler 및 GNU Classpath와 같은 Sun 기술의 대체 구현을 개발했습니다.

C #은 날카로운 것으로 알려져 있으며 객체 지향 프로그래밍 언어입니다. C #은 다중 패러다임 프로그래밍 언어입니다. 여기에는 강력한 타이핑, 명령형, 선언적, 기능적, 절차 적, 일반, 객체 지향 (클래스 기반) 및 구성 요소 지향 프로그래밍 분야가 포함됩니다.

C #은 C 프로그래밍 언어를 기반으로합니다. 원래 Anders Hejlsberg에 의해 .NET 프레임 워크에서 사용하기 위해 Microsoft 용으로 개발되었습니다. Ecma (ECMA-334)와 ISO (ISO / IEC 23270 : 2006)는 C # 언어를 나중에 표준으로 승인했습니다. C #은 공용 언어 인프라 용으로 설계된 프로그래밍 언어 중 하나입니다. C #은 단순하고 현대적인 범용 객체 지향 프로그래밍 언어입니다.

ECMA 표준에 따라 나열된 C #의 설계 목표는 다음과 같습니다.

  • C # 언어는 단순하고 현대적인 범용 객체 지향 프로그래밍 언어입니다.
  • 언어와 구현은 강력한 형식 검사, 배열 범위 검사, 초기화되지 않은 변수 사용 시도 감지 및 자동 가비지 수집과 같은 소프트웨어 엔지니어링 원칙을 지원해야합니다. 소프트웨어 견고성, 내구성 및 프로그래머 생산성이 중요합니다.
  • 이 언어는 분산 환경에서의 배포에 적합한 소프트웨어 구성 요소 개발에 사용하기위한 것입니다.
  • 특히 C와 C ++에 이미 익숙한 프로그래머에게는 소스 코드 이식성이 프로그래머의 이식성과 마찬가지로 매우 중요합니다.
  • 국제화 지원은 매우 중요합니다.
  • C #은 정교한 운영 체제를 사용하는 매우 큰 것부터 매우 작은 전용 기능까지 호스트 및 임베디드 시스템 용 응용 프로그램을 작성하는 데 적합합니다.
  • C # 응용 프로그램은 메모리 및 처리 전력 요구 사항과 관련하여 경제적이기는하지만 C 또는 어셈블리 언어로 성능 및 크기와 직접 경쟁하기위한 것은 아닙니다.

C 언어를 기반으로하기 때문에이 언어는 C 언어와 매우 비슷합니다. 그러나 C #의 단점은 .NET Framework에서 사용하기 위해 Microsoft에서 개발 한 것처럼 Microsoft 운영 체제에서만 작동한다는 것입니다.

Java와 C #의 차이점은 다음과 같습니다.

  • C #은 Java와 비교하여 더 많은 데이터 유형을 제공합니다.
  • C #에는 Java보다 원시 데이터 형식이 많이 포함되어 있습니다.
  • C #은 연산자 오버로딩을 지원하지만 Java는 그렇지 않습니다.
  • C #은 자바가 지원하지 않는 스트럿 타입을 지원합니다.
  • C #의 모든 데이터 유형은 스트럿입니다.
  • C #은 Java보다 향상된 버전 관리 기능을 제공합니다.
  • C #에서는 ref 키워드를 사용하여 매개 변수를 참조로 전달할 수 있지만 Java에서는 매개 변수를 값으로 전달할 수 있습니다.
  • C #은 param 키워드를 사용하여 다양한 수의 매개 변수를 허용합니다.
  • C #은 초기화를 위해 정적 생성자를 제공합니다.
  • C #은 break 문 대신 goto 문을 제공합니다.
  • C #에서는 Java와 비교하여 배열 선언이 다릅니다.
  • Java 규칙은 각 파일에 하나의 공용 클래스를 두는 것이고 일부 컴파일러는이를 요구합니다. C #은 소스 파일 정렬을 허용합니다.
  • 자바는 이벤트와 델리게이트를 지원하지 않습니다.
  • Java에서 메소드는 기본적으로 가상이지만 최종적으로 작성할 수 있습니다. C #에서는 기본적으로 봉인되지만 가상으로 만들 수 있습니다.
  • C #은 예외를 체크하지 않습니다.
  • Java는 사용자 정의 값 유형의 작성을 허용하지 않습니다.
  • Java에는 연산자 및 변환 과부하가 없습니다.
  • Java에는 반복자의 간단한 구현을위한 반복자 블록이 없습니다.
  • Java에는 LINQ와 같은 것이 없습니다.
  • 부분적으로 델리게이트가 없기 때문에, 자바는 익명 메소드와 람다 표현식과 같은 것을 가지고 있지 않습니다.
  • Java에는 표현식 트리가 없습니다.
  • C #에는 익명의 내부 클래스가 없습니다.
  • Java에는 C # 3.0 익명 유형과 동일한 기능이 없습니다.
  • Java에는 내재적으로 유형화 된 로컬 변수가 없습니다.
  • Java에는 확장 메소드가 없습니다.
  • Java에는 오브젝트 및 콜렉션 초기화 프로그램 표현식이 없습니다.
  • Java는 언어의 일부로 등록 정보를 갖지 않습니다. 그들은 get / set / convention의 관습입니다.
  • Java에는 "안전하지 않은"코드와 동일한 기능이 없습니다.
  • Java의 enum은 객체 지향적입니다.
  • Java에는 사전 처리기 지시문이 없습니다 (C #의 #define, #if 등).
  • Java에는 참조로 매개 변수를 전달하기위한 C #의 참조 및 출력이 없습니다.
  • Java에는 부분 유형과 동일한 기능이 없습니다.
  • C # 인터페이스는 필드를 선언 할 수 없습니다.
  • Java에는 부호없는 정수 유형이 없습니다.
  • Java는 십진 형식에 대한 언어 지원이 없습니다.
  • Java에는 nullable 값 유형과 동일한 기능이 없습니다.
추천

관련 기사

  • 차이점: 크리스마스 트리와 파인 트리의 차이점

    크리스마스 트리와 파인 트리의 차이점

    주요 차이점 : 크리스마스 트리는 일반적으로 스프루스, 소나무, 전나무 및 거의 삼나무와 같은 상록 구과 식물입니다. 소나무는 Pinaceae 가족 및 Pinus 속에 속하는 침엽수 털입니다. 완벽한 크리스마스의 그림에는 가족, 벽난로, 나무 및 선물이 포함됩니다. 매년 사람들은 자신의 가족과 많은 사람들에게 완벽한 크리스마스 트리를 찾기 위해 높거나 낮게 검색하여 나무 농장을 통해 이른 아침 밟은 전통이되었습니다. 원래 크리스마스는 예수 그리스도의 탄생을 축하하기위한 것이지만 많은 사람들이 가족과 축하하고 선물을 교환하는 것을 의미하기 때문입니다. 사람이 크리스마스 트리를 생각할 때 보통 바
  • 차이점: 하드 디스크와 하드 드라이브의 차이점

    하드 디스크와 하드 드라이브의 차이점

    주요 차이점 : 이 둘의 차이는 단순히 기술적 인 차이 일뿐입니다. '하드 디스크'라는 용어는 데이터를 저장하는 책임이있는 금속 플래터 또는 금속 CD에서 파생 된 것입니다. 이제 하드 드라이브 섹션은 단순히 액추에이터, 액추에이터 암, 액추에이터 축, 스핀들 및 헤드입니다. 결합 된 이러한 부분은 금속 플래터의 데이터를 읽고 쓰는 데 사용됩니다. 원래 컴퓨터가 거대하고 부피가 크며 시간이 지나고 기술이 향상되면서 컴퓨터의 크기가 줄어들 었다는 것은 드문 지식이 아닙니다. 부피가 큰 대형 프레임 컴퓨터에서부터 현재 사용 가능한 랩톱에 이르기까지 크기 축소는 장치에서 데이터를 읽고 쓰는 데 사용되는 하드 디스크 드라이브의 크기가 작아짐에 따라 가장
  • 차이점: 인트라넷과 익스트라 넷의 차이점

    인트라넷과 익스트라 넷의 차이점

    주요 차이점 : 인트라넷과 익스트라 넷의 주된 차이점은 인트라넷이 조직 컴퓨터에서 사용하기에 제한적인 네트워크 인 반면 익스트라 넷은 회사 인트라넷의 확장입니다. 엑스트라 넷은 인트라넷에 직접 연결되지 않은 사람들에게 인트라넷 정보의 일부를 제공합니다. 인트라넷은 내부 네트워크입니다. 회사에서 네트워크를 통해 컴퓨터를 연결하는 데 사용됩니다. Webopedia는 인트라넷을 "조직에 속한 TCP / IP 프로토콜 (인터넷)을 기반으로하는 네트워크로 정의합니다. 일반적으로 회사의 구성원, 직원 또는 기타 권한을 가진 사용자 만 액세스 할 수있는 회사입니다. 인트라넷의 웹 사이트는 다른 웹 사이트처럼 보이고 작동하지만 인트
  • 차이점: HTML5와 플래시의 차이점

    HTML5와 플래시의 차이점

    주요 차이점 : HTML5는 HTML 표준의 다섯 번째 개정판입니다. HTML은 HyperText Markup Language의 약자입니다. 그것은 웹 페이지를 개발하는 데 사용되는 유명한 마크 업 언어입니다. HTML5의 핵심 목표는 최신 멀티미디어를 지원하여 언어를 개선하는 것이 었습니다. Adobe Flash는 주로 벡터 그래픽, 애니메이션, 게임 및 RIA (Rich Internet Application)를 만드는 데 사용되는 멀티미디어 및 소프트웨어 플랫폼입니다. 이러한 RIA는 Adobe Flash Player에서 재생할 수 있습니다. 플래시는 일반적으로 스트리밍 된 비디오 또는
  • 차이점: Nexus 4와 Nexus 7의 차이점

    Nexus 4와 Nexus 7의 차이점

    주요 차이점 : Nexus 4는 Google의 네 번째 Nexus 브랜드 Android 스마트 폰입니다. LG 전자와 협력하여 제작되었습니다. 휴대 전화는 Android 4.2 (Jelly Bean) 운영 체제에서 실행됩니다. Nexus 7은 Android 4.1 (젤리라고도 함) 운영체제를 실행하는 태블릿 컴퓨터입니다. 그것은 Asus와 협력하여 개발되었습니다. 오늘날 기술의 끊임없는 업그레이드로 새로운 기능의 스마트 폰 모델 및 스마트 폰의 새로운 모델이 지속적으로 출시되고 있습니다. 스마트 폰은 많은 사람들에게 삶의 방식으로 자리 잡고있어 이동 중에도 무엇이든 할 수 있습니다.
  • 차이점: 숙취와 독감의 차이점

    숙취와 독감의 차이점

    주요 차이점 : 숙취는 알코올을 많이 소비 한 후에 경험하게되는 효과입니다. 이것은 일반적으로 중독이 마모되기 시작하여 시스템에 흡수되면 발생합니다. 일반적으로 독감으로 알려진 인플루엔자는 Orthomyxoviridae 계통의 RNA 바이러스에 의해 발생합니다. 음주는 오늘날 사회에서 가장 좋아하는 오락 중 하나가되었습니다. 거의 모든 경우에는 사람이 행복, 슬픔, 흥분, 질병 등을 포함하여 술을 마셔야합니다. 당일 아침 파티는 종종 가장 힘든 일입니다. 이것은 숙취로 알려져 있습니다. 많은 사람들이 독감 증상에 대해 숙취 증상을 혼동 할 수 있습니다. 특히 병이 들었을 때 술에 취한 경우에는
  • 차이점: 확대 / 축소, 패닝 및 크기 조정의 차이점

    확대 / 축소, 패닝 및 크기 조정의 차이점

    주요 차이점 : 확대 / 축소 기능은 사용자가 문서 또는 이미지의보기를 변경할 수있는 옵션을 제공합니다. 두 가지 방법으로 적용 할 수 있습니다 - 확대 및 축소. 일반적으로 픽셀의 축소 또는 늘어남이 포함됩니다. 패닝은 원하는보기를 보는 또 다른 방법입니다. 문서를 움켜 잡고 원하는 영역이나 대상 영역에 초점을 맞추기 위해 이동합니다. 크기 조정은 이미지 나 텍스트의 크기를 조정합니다. 스케일링에 사용되는 수많은 기술이 있습니다. 경우에 따라 배율 및 확대 / 축소는 서로 바꿔서 사용할 수 있습니다. 확대 / 축소, 패닝 및 비율 조정은 서로 관련이 있습니다. 세 가지 모두 화면의 특정보기와 관련하여 사용되므로
  • 차이점: HTML과 JSP의 차이점

    HTML과 JSP의 차이점

    주요 차이점 : HTML은 HyperText Markup Language의 약자입니다. 그것은 웹 페이지를 개발하는 데 사용되는 유명한 마크 업 언어입니다. 오랫동안 사용되어 왔으며 일반적으로 웹 페이지 디자인에 사용됩니다. JSP는 JavaServer Pages의 약자입니다. 주로 동적 웹 페이지를 개발하는 데 사용됩니다. JSP 기술은 정보가 풍부하고 동적 인 웹 페이지를 신속하게 개발하고 유지 보수 할 수있게합니다. JSP 웹 페이지는 HTML, XML 또는 기타 문서 유형을 기반으로합니다. HTML은 HyperText Markup La
  • 차이점: CEO와 회장의 차이점

    CEO와 회장의 차이점

    주요 차이점 : 최고 경영자 (CEO)는 본질적으로 회사에서 가장 높은 임원입니다. 그는 대부분의 힘을 가지고 있습니다. 그는 직접 이사회에보고합니다. 반면에 사장은 기업 계층의 CEO보다 순위가 낮습니다. 그는 CEO에게보고합니다. 본질적으로, 대통령은 회사의 일상적인 운영을 관리하고 경영진과 CEO 간의 연락 역할을합니다. CEO는 사업 계획 및 전략 측면, 장기 계획을 처리합니다. 그는 또한 회사 전체와 이사회 간의 연락 책 역할을합니다. CEO와 사장은 한 회사에서 서로 다른 직책을 맡고 있습니다. 그래서, 누가 뭘합니까? 최

에디터의 선택

예쁘고 아름다운 사이의 차이

주요한 차이점 : 둘 다 얼굴의 즐거운 효과를 위해 사용됩니다. 예쁜 것은 어떤 사람의 깊은 아름다움을 나타내는 아름다운 것에 비해 외부의 모습을 더 많이 나타냅니다. 형용사 '예쁜'은 외모에서 개인의 모습을 나타냅니다. 그것은 개인의 얼굴을 칭찬하는 칭찬으로 사용됩니다. 꽤 큰 사람이나 물건과 함께 사용되는 경우는 거의 없으며, 일반적으로 작은 물건으로 제한됩니다. 그 사람이나 사물은보기에 즐겁지 만 반드시 인상적 일 필요는 없습니다. 그것은 부드럽고, 여성스럽고, 아름답고 귀여우 며 또한 매우 매력적입니다. 그것은 측정