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