개발 지식/computer science

C와 Java의 특징과 차이점

민57 2020. 7. 25. 01:02
💎C의 특징💎

1. 시스템 프로그래밍 가능 :운영체제(OS) 개발 목적으로 만든 언어

 

2. 이식성을 갖춘 언어

- 이식성을 갖추면 기종이 다른 컴퓨터에서도 사용할 수 있는 프로그램을 작성할 수 있음

- 표준이 정의되지 않은 문법을 사용한 프로그램은 특정 컴파일러에서만 컴파일될 가능성이 높으므로 이식성을 유지하기 힘듦

 

3. 작고 효율적

- C로 짜여진 코드는 속도가 빠르고 바이너리 크기가 작음
- 빠른 속도를 필요로 하는 임베디드 혹은 모바일 계열, 시스템 프로그래밍 등에서 주로 사용

 

4. 절차지향 프로그래밍 언어

- 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법

 

💎JAVA의 특징💎

1. 여러 운영체제(OS)에서 실행 가능 = 운영체제에 독립적임

- JVM 위에서 독단적으로 실행

- JVM(자바 가상머신) : 자바 바이트코드를 OS에 맞게 해석, 바이트코드는 OS에 상관없이 실행 가능

(C언어의 경우, OS 및 컴퓨터 아키텍처에 따라, 기존 코드를 재사용하기 어려움)

 

2. 객체지향 프로그래밍 언어

- 객체지향이란 프로그램을 잘게 나누어 부품화 한 뒤 조립하는 형식으로 개발하는 방법 (클래스와 객체 개념 등장)

 

3. 가비지 컬렉션, 메모리(RAM) 자동 정리

- 사용하지 않는 메모리를 자동 처리하는 개념 : 개발에 집중을 더 할 수 있음

 

4. 이 외에도 캡슐화, 다형성, 상속 등의 특징이 있음

 

5. 뛰어난 보안성, 멀티쓰레드 지원 등

 

💎C와 JAVA의 차이점💎
C JAVA
절차지향 객체지향
유지보수, 디버깅 어려움 유지보수, 디버깅 용이함
실행/처리 속도 빠름 상대적으로 느린 속도
프로그램 데이터 처리 방법인 알고리즘 중요시 알고리즘 < 프로그램이 사용하고 있는 데이터 중심

 

 

*** 글의 정보는 아래 출처들로 부터 참고했습니다.

*** 또는 참고하기 좋은 글

 

Attach

C언어와 Java의 차이점을 표 한 장으로 정리하겠습니다.

C언어와 자바의 차이

자바(Java)〃객체지향 vs 절차지향 비교+장점과 단점

C 와 C++ C++과 JAVA의 차이점이 뭔가요??

728x90