💎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의 차이점을 표 한 장으로 정리하겠습니다.
'개발 지식 > computer science' 카테고리의 다른 글
서블릿의 동작원리와 라이프 사이클 Servlet life cycle (0) | 2020.07.26 |
---|---|
프레임워크(Framework)와 라이브러리(Library) (0) | 2020.03.04 |