뭐라도 쓰겠지
25.03.04 / 용어 정리 1 본문
Low-Level Language
컴퓨터가 이해할 수 있는 수준의 언어
ex) 기계어, 어셈블리
High-Level Language
인간이 이해할 수 있는 수준의 언어
ex) python, Java
로우레벨과 하이레벨은 상대적으로 비교해서 보면 달라질 수 있다. 예를들어 기계어와 C를 비교하면 기계어가 로우레벨 언어, C가 하이레벨 언어이지만, C와 자바스크립트를 비교한 경우 C가 로우레벨 언어, 자바스크립트가 하이레벨 언어라 볼 수 있다.
메모리를 직접적으로 관리하는지 가비지 컬렉터를 사용해 관리하는지에 따라 로우레벨, 하이레벨을 나눌 수도 있다. 이에 따르면 메모리를 직접 할당하고 풀어줘야하는 C언어는 로우레벨 언어라고 볼 수 있다.
Compile (컴파일)
우리가 알아볼 수 있는 하이레벨 언어를 컴퓨터가 이해할 수 있는 로우레벨 언어로 변환해주는 것을 컴파일이라고 한다. IDE에 포함된 컴파일러가 컴파일을 해주는 기능을 수행한다.
Procedural Programming (절차지향 언어)
개체를 순차적으로 처리하여 프로그램 전체가 유기적으로 연결되는 언어를 일컫는다. 절차지향 언어의 구조는 컴퓨터의 처리구조와 유사하기 때문에 실행 속도가 빠르다는 장점이 있다. 그러나 유지보수의 어려움이 있고, 코드의 순서를 바꾸면 결과가 달라질 가능성이 높다는 단점이 있다.
ex) C
Object Oriented Language (객체지향 언어)
프로그램을 다수의 객체로 만들고, 이들끼리 서로 상호작용하도록 만드는 프로그래밍 언어를 일컫는다. 특징으로는 캡슐화, 상속, 다형성, 추상화가 있다. 객체지향 언어는 상속이 가능하기에 코드를 재사용할 수 있고, 독립된 객체로 이루어져 유지 보수가 용이하며, 개발자가 생각하는 대로 자연스럽게 구현할 수 있다는 장점이 있다. 그러나 객체를 만드는 만큼 모든 객체를 이해해야 하기 때문에 프로그래밍에 많은 시간이 소요되고, 처리 속도가 느리며, 대체적으로 난이도가 높다는 단점이 있다.
ex) 자바, C++
'프로그래밍' 카테고리의 다른 글
| 25.03.05 / 2진수의 음수 표기법 (0) | 2025.03.05 |
|---|---|
| 25.03.05 / 변수의 규칙 (0) | 2025.03.05 |
| 25.03.04 / 연산자 (0) | 2025.03.04 |
| 25.03.04-25.03.05 / 자료형 (0) | 2025.03.04 |
| 25.02.28 / 진법 (0) | 2025.02.28 |