IT/인터뷰준비

1) C언어와 Java의 차이

haemni 2021. 5. 16. 14:43
728x90
반응형
SMALL

1. 절차지향언어(C) vs 객체지향언어 (Java)

  1-1) 절차지향이란 ? 

    - 순차적인 처리 (top-down) 중시  -> 프로그램 전체가 유기적으로 연결되도록 함

    - 컴퓨터 HW의 작업처리와 유사 -> 전체적인 실속도가  빨라짐

    - 유지보수 어려움

 

  1-2) 객체지향이란 ? 

    - 데이터와 그 데이터가 실행되는 동작 중심 -> 객체들의 상호작용으로 프로그램이 완성됨 

    - 객체지향의 3대 특성 : 캡슐화 | 상속 | 다형성 

    - 코드의 재사용성 높음 

    - 디버깅 용이 

 

2. 컴파일과정의 차이   :  링크 과정 ㅇ  vs 링크과정 x

  2-1) C코드 컴파일 과정 

    *   Source File --(컴파일)--> Object File --(링크)--> 실행 File -> 프로그램 실행   * 

   -  링크 : 목적코드 파일과 필요한 라이브러리 파일을 하나로 합처 실행파일 생성 

 

  2-2) Java코드는 링크과정이 없음.

     - 컴파일러가 바로 바이트코드를 생성.

 

3. 메모리관리 

   3-1) C언어 : 코드에서 하드웨어 메모리 직접 관리 가능 / free() 메소드 이용하여 메모리 할당 해제해주어야함 

   3-2) JVM에서 메모리관리(Java)

반응형
LIST