본문 바로가기
study_java/자바 공부하기

프로그래밍 언어에 대한 간략한 개념들 - [절차지향과 객체지향], [런타임과 컴파일타임], [컴파일 언어와 인터프리터 언어]

by developer_j 2023. 4. 6.
728x90
반응형

1. [절차지향과 객체지향]

 

절차지향 프로그래밍

= 순차적으로 처리되어 프로그램 전체가 유기적으로 연결되어있도록 하는 개발. 컴퓨터가 부팅되기위해서는 부트로더가 먼저 로딩되어야하는 그런 느낌

 

객체지향 프로그래밍

= 현실 세계를 모델링하여 소프트웨어 개발. 명령어의 체계적인 나열로 처리하는 것이 아닌, 여러개의 독립된 객체를 만들어 객체단위로 개발. 만들어진 독립된 개체들은 서로 소통하여 프로세스를 처리할 수 있다.

 

 

2. [런타임과 컴파일타임]

 

프로그램을 생성하기 위해 개발자는

첫째로 소스코드를 작성하고, 컴파일이라는 과정을 통해 기계어 코드로 변환 되어 실행 가능한 프로그램이 되며, 이러한 편집 과정을 컴파일 타임(Compile time) 이라고 부른다.

컴파일과정을 마친 프로그램은 사용자에 의해 실행되어지며, 이러한 응용 프로그램이 동작되어지는 때런타임(Runtime)이라고 부른다.

💡 Java file(원시코드) — 컴파일 타임 — Class file (기계어) — 런 타임

 

 

3. [컴파일 언어와 인터프리터 언어]

 

컴파일 언어

= 소스코드(원시코드, 프로그래머가 작성한 코드)를 컴퓨터가 알 수 있는 코드로 변환한 후(=컴파일) 실행하는 방식. 소스코드를 기계어로 번역하는 빌드 과정이 컴파일 과정인데, 이 때 시간이 좀 걸릴 수 있음

예) C, C++

 

인터프리터 언어

= 전체를 한번에 컴파일해서 실행하는 방식이 아닌, 명령어 하나하나를 컴퓨터가 알 수 있는 코드(기계어)로 즉시 변환하여 실행하는 방식. 실행속도는 느리지만 코드 변경시 빌드 과정없이 바로 실행이 가능하다

예) R, Python, Ruby

728x90
반응형