Java/OOP

[OOP] C1. 기계어에서 객체지향 언어로: 컴퓨터 언어의 진화

JoonYong 2024. 1. 28. 02:07

 

 

1. 기계어 (Machine Language)

  • 컴퓨터가 직접 이해하는 언어로 0과 1로 이루어진 이진 코드로 구성됩니다.
  • 프로그래밍이 매우 어렵고 복잡하며, 인간이 이해하기 힘듭니다.
  • CPU 회사마다 기계어가 다르다.(코드의 이식성이 안좋다.)

 

2. 어셈블리어 (Assembly Language)

  • 기존의 0과 1의 나열에서 벗어나 좀 더 인간친화적인 언어 형태를 갖추었다.
  • 기계어를 인간이 이해하기 쉽도록 기호화한 언어입니다.( ADD, PLUS)
  • 기계어와 1:1로 대응되며, 기계어보다 이해하고 작성하기 쉽습니다.
  • 운영체제, 하드웨어 종류에 따라 고유의 어셈블리어가 존재한다.(호환 X)
  • 아직은 프로그래밍이 복잡하며 하드웨어에 의존적이며, 이식성이 떨어집니다.

 

3. C언어 (C Language)

  • 고급 언어(사람이 이해하기 쉽도록 설계된 프로그래밍 언어)의 일종으로, 절차 지향 언어입니다.
  • C언어는 하나의 소스코드를 작성하면 각 기종(OS)에 맞는 컴파일러를 통해 기계어 목적 파일로 변환된다.
  • 어셈블리어보다 더욱 직관적이며, 코드의 재사용과 이식성이 높아집니다.
  • 하드웨어에 접근하는 능력이 있어 시스템 프로그래밍에 많이 사용됩니다. 

 

4. 자바 (Java)

  • JVM( Java Virtual Machine)의 등장으로 인해 자바 언어에서는 여러 종류의 컴파일러를 갖출 필요가 사라졌다.
  • 나의 소스코드를 하나의 자바 컴파일러를 통해 목적 파일로 변환된다.
  • 각 기종에 맞는 JRE를 통해 JVM이 동작하게 된다.
  • 객체 지향 언어로, C언어보다 더욱 직관적이며지보수와 확장성이 용이합니다..
  • 메모리 관리를 자동으로 해주므로 개발자는 더 복잡한 문제에 집중할 수 있습니다.

1. 고급 언어 (High-Level Language)

고급 언어는 사람이 이해하기 쉽도록 설계된 프로그래밍 언어를 말합니다. 이들 언어는 자연어에 가까운 문법을 가지고 있어, 사람이 코드를 읽고 작성하기가 쉽습니다. 고급 언어로 작성된 코드는 컴파일러나 인터프리터를 통해 기계어로 번역되어 컴퓨터에 의해 실행됩니다. 자바, C, C++, Python, JavaScript 등이 고급 언어에 해당합니다.

 

2. 저급 언어 (Low-Level Language)

저급 언어는 컴퓨터가 직접 이해하고 실행할 수 있는 언어를 말합니다. 이들 언어는 기계어 또는 어셈블리어로 작성되며, 하드웨어에 직접 접근하고 제어할 수 있습니다. 저급 언어로 작성된 코드는 컴퓨터가 직접 실행할 수 있지만, 사람이 읽고 작성하기는 어렵습니다.


https://achieve-dev.tistory.com/2

 

[JAVA] C1. 자바 비긴즈

프로그래밍 언어의 종류와 분류 컴파일러 언어 소스 코드를 실행 가능한 기계어로 일괄 번역한 후, 변역이 완료된 파일을 실행하는 언어를 말합니다. 이때 소스코드를 기계어로 번역하는 과정

achieve-dev.tistory.com