day87 🌕

장미·2022년 9월 9일
0

오늘의 성과

목록 보기
87/129

스프링 DB 2편 - 데이터 접근 활용 기술 섹션 9 수강


Java와 C언어의 차이

+) 22. 09. 11. 추가

C언어

C언어는 low level 퍼포먼스를 위해 디자인된 프로그래밍 언어이다. 즉, 기계에 가까운 언어라는 소리다.
예를 들어, 에어컨이나 스마트 TV 같은 걸 프로그래밍 할 때 주로 사용한다. 또한, C언어는 메모리를 적게 차지하고 빠르게 동작(기계어와 가깝기 때문에 컴퓨터가 빠르게 이해함.)하기 때문에 메모리 공간이 부족한 곳에 주로 사용한다.

C언어의 특징

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

  • 이식성을 갖춘 프로그램을 만들 수 있다.
    표준이 정의되지 않은 문법을 사용한 프로그램은 특정 컴파일러에서만 컴파일될 가능성이 높으므로 이식성을 유지하기가 힘들다. 하지만 C언어는 이식성을 갖춘 언어다.
    (이식성: 기종이 다른 컴퓨터에서도 사용 가능한 프로그램을 뜻한다.)

  • 작고 효율적이다.
    C로 짜여진 코드는 속도가 빠르고 바이너리 크기가 작다. 이러한 특성 때문에 속도가 생산성보다 중요한 임베디드 혹은 모바일 계열, 시스템 프로그래밍 등에서 주로 사용된다.

  • 절차지향 프로그래밍 언어이다.
    절차지향 프로그래밍은 순차적인 처리가 중요하다.


Java

자바는 객체지향 프로그래밍 언어로, 주로 웹 서버와 안드로이드에서 쓰이는 언어이다.
자바에는 Java API라 하는 자바 시스템 제어를 위한 명령어가 있다.
자바 프로그램은 바이트 코드 파일(.class)로 구성된다. 이 바이트 코드 파일은 운영체제에서 바로 실행할 수 없다. 자바 가상 기계(JVM)라는 번역기가 필요하다.
자바가 JVM을 사용하는 이유는 바이트 코드 파일이 다양한 운영체제에서 독립적으로 사용 가능하기 때문이다.
C는 리눅스, 윈도우, 맥 등 운영체제별로 운영체제 위에서 바로 실행되지만, 자바는 운영체제 위의 JVM에서 실행된다.

Java의 특징

  • 여러 운영체제에서 실행 가능하다.
    윈도우에서 개발된 프로그램을 수정하지 않고도 리눅스, 맥에서 바로 실행할 수 있다.

  • 객체지향 프로그래밍 언어이다.
    자바는 객체지향 프로그래밍 언어 중 하나로, 객체를 만들고 이 객체들을 연결하여 더 큰 프로그램을 완성한다.

  • 메모리를 자동으로 관리해준다.
    자바가 메모리(RAM)를 자동으로 관리해주기 때문에 개발자는 메모리를 관리하는 수고를 덜고, 개발에만 집중할 수 있게 됐다.


C언어와 Java의 차이점 정리

C언어Java
절차지향 VS 객체지향절차지향 언어객체지향 언어
처리 속도상대적으로 빠름상대적으로 느림
유지보수어려움용이함
용도임베디드 또는 운영체제응용 SW, 안드로이드 앱 등
안정성 & 확장성상대적으로 낮음상대적으로 높음

참고 자료

  1. 혼공, “C언어와 Java의 차이점을 표 한 장으로 정리하겠습니다.”, https://hongong.hanbit.co.kr/c언어-java-차이점-정리표/

  2. 노마드 코더 Nomad Coders, “어떤 언어부터 배워야할까? 5개 언어. 5분 개념탑재.”, https://youtu.be/p_v_js0mxVc

profile
김뉴비

0개의 댓글

관련 채용 정보