새소식

반응형
Java/Spring

C언어와 Java 언어의 차이점

  • -
반응형

C언어

- 시스템 프로그래밍이 가능하다.

운영체제를 개발할 목적으로 만든 언어이므로 하드웨어를 제어하는 시스템 프로그래밍이 가능하다.

 

- 이식성을 갖춘 프로그램을 개발할 수 있다.

* 이식성 : 다른 환경에서도 사용할 수 있는 프로그램으로 표준을 지켜 개발하기 때문에 다른 환경에서 사용 가능하다.

 

- 절차지향적(코드를 위에서 아래로 순차적으로 읽어 처리하므로 이해하기가 쉽다.)

절차지향 프로그래밍이란 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시되며 프로그램 전체가 유기적으로

연결되도록 만드는 프로그래밍 기법이다.

 

- 작고 효율적이다.

메모리를 직접 관리하여 속도가 빠르고 메모리 낭비가 적으며 바이너리 크기가 작다.

이러한 특성 때문에 생산성보다 중요한 속도를 필요로 하는 임베디드 혹은 모바일 계열, 시스템 프로그래밍 등에서

주로 사용된다. 다만 수정사항을 확인하긴 위해선 매번 컴파일 해야한다.

 

Java 언어

- 객체지향형(캡슐화, 상속)

절차지향인 C와 다르게 Java는 객체지향 언어이다. 각 객체(부품)를 만들고 이러한 만들어진 객체를 서로 연결하고

조립해서 더 큰 프로그램을 만든다.

 

- 메모리를 자동정리 해주므로 개발자의 수고를 덜어준다.

자바는 메모리(RAM)을 자동 관리 하므로, 개발자는 메모리를 관리하는 수고를 덜고 코드 작성에 집중할 수 있다.

 

- 여러 운영체제에서 사용이 가능하므로 이식성이 좋다

여러 운영체제에서 사용가능한 이유는 JVM 때문이다. 바이트코드를 운영체제가 이해할수 있게 JVM이 번역해준다.

 

Java는 완전한 기계어가 아닌 바이트코드(.class)로 구성, JVM에 의해 운영체자가 이해할수있도록 번역

​JVM에 의해 Java는 어떤 운영체제라도 사용이 가능하기 때문에 이식성이 좋다.

 

* C언어는 리눅스, 맥, 윈도우 등 운영체제별로 운영체제 위에서 동작하지만, Java 언어는 운영체제 위의 JVM에서 실행된다.

 

- 무료 라이브러리 풍부

오픈 소스 라이브러리가 풍부하기 때문에 프로그램 개발 기간을 단축한다. 그래픽 사용자 인터페이스(GUI), DB 접근 및 사용, 멀티 쓰레드 등...

반응형

'Java > Spring' 카테고리의 다른 글

Spring - Dynamic Web Project 설정  (0) 2021.08.25
JVM, JRE, JDK 차이  (0) 2021.08.25
DAO와 DTO를 분리하는 이유  (0) 2021.08.25
자주 쓰는 어노테이션 정리  (0) 2021.08.25
Zip 파일 만들기  (0) 2021.08.25
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.