# Java와 C의 차이점

  • 가장 큰 차이점은 실행환경 이다.
    • Java - 컴파일 혹은 컴파일 + jar 압축
      • 링크(실행파일을 생성하는 작업) 과정이 없이 컴파일러가 바로 바이트 코드 생성
    • C - 컴파일 + 링크

# 이외의 차이점

특징 C Java
절차지향 객체지향
개발환경 비주얼 스튜디오 이클립스, 인텔리제이
처리속도 상대적으로 빠름 상대적으로 느림
유지보수 어려움(디버깅 어려움) 용이함
용도 임베디드 또는 운영체제처럼 속도나 용량 등에서 최적화가 필요한 곳에서 주로 사용 웹 사이트나 운영체제와 상관없이 실행되어야 하는 응용 SW, 안드로이드 앱 등에서 사용
안정성 및 확장성 상대적으로 낮음 상대적으로 높음
메모리 제어 메모리를 직접 조절하여 메모리 낭비가 적음 각각의 클래스로 인해 메모리 낭비가 높음

엄밀히, 절차지향객체지향은 반대 개념이 아니다. 절차지향은 데이터 중심으로 함수를 구현하고, 객체지향은 기능 중심으로 메서드를 구현하는 차이가 있을 뿐이다.

Last Updated: 12/5/2020, 11:36:44 AM