Java

[Java] 프로그래밍 언어의 진화 그리고 컴파일과 실행

yujinius 2024. 4. 3. 17:19

프로그래밍 언어

  • 프로그래밍 언어는 컴퓨터가 실행할 프로그램을 작성하는언어
  • 컴퓨터의 CPU는 이진수(binary code)인 0과 1밖에 이해하지 못함
  • 이진수 명령어들로 구성된 언어를 기계어(machine language)라고 함
  •  기계어의 각명령을 ADD, SUB, MOVE 등 가급적 표현하기 쉬운 상징적인 니모닉 기호(mnemonic symbol)로 일대일 대응시킨 어셈블리어(assembly language)가 만들어짐 
  • 어셈블이어 역시 사람이 다루기 힘들고, 다양한 프로그램이나 자료를 효율적으로 표현하는데에 한계 => 사람이 이해하기 쉽고 복잡한 알고리즘, 프로그램 등 효율적 표현 위해 고급 언어 생겨남
  • 고급 언어는 초기에 절차 지향 언어 형태를 거쳐 지금의 객체 지향 언어로 진화
  • C++, 자바, C#은 대표적인 객체 지향 언어
  • 자바 언어는 C/C++ 언어 구조를 차용하고 보다 강력한 객체 지향 언어로 설계

출처 : 명품 Java Programming(황기태, 김효수 저)

프로그램 컴파일과 실행

  • 소스 파일(소스 프로그램) : 컴퓨터 언어로 작성한 것
  • 컴퓨터는 C/C++, 자바와 같은 고급 언어로 작성된 프로그램직접 처리 불가
  • 컴퓨터가 실행할 수 있는 기계어 코드로 변환하는 컴파일(Compile) 과정 필요
  •  컴파일을 전담하는 소프트웨어컴파일러(compiler)라고 함
  • 각 언어마다 전용 컴파일러 존재
  • 자바의 소스 프로그램의 확장자: .java
  • 자바 전용 컴파일러에 의해 .class 파일로 컴파일
  • 클래스 파일은 자바 가상 기계(JVM)에 의해 실행됨
  • 자바: .java => .class
  • C : .c => .obj => .exe
  • C++ : .c => .obj => .exe
  •