본문 바로가기
Back-End/Java

프로그래밍 언어와 자바(Java)의 특징 및 개발환경

by 찐코딩 2021. 8. 4.

프로그래밍 언어

   - 프로그래밍 언어는 컴퓨터가 실행할 프로그램을 작성하는  언어를 말함.
   - 컴퓨터는 이진수(binary code) 밖에 이해하지 못함.  즉 0과 1만 알고 있음,
      이렇게 이진수로 구성된 언어를 기계어(machine language)라고 함.
  - 프로그래밍 언어에는 여러가지가 있는데 사람이 이해하기 쉽고 자료를
     효율적으로 표현할 수 있는 고급언어가 생겨나게 됨,
  - 고급언어는 초기에는 절차지향 언어 형태를 가졌지만, 현재는 객체지향 언어로 진화하게 됨
  - 컴퓨터는 java나 c++과 같은 고급언어로 작성된 프로그램을 직접 처리할 수 없음,
     컴퓨터가 실행할 수 있는 기계어 코드로 변환되어야 하는데 이렇게 기계어로 변환되는 작업을 컴파일(compile) 이라고 함.
 

 java의 특징

  1.java는 객체지향 언어이다.
   - 프로그램을 개발하는 기법으로 부품에 해당하는 객체를 먼저 만들어 내고,
     이것들을 하나하나씩 조합 및 연결하여 전체적인 프로그래밍 기법을 완성하는 기법
     
  2. java는 이식성이 높은 언어이다.
    - 운영체제가 다르면 원래 MS 윈도우 환경에서 만들어진 프로그램은
       다른 운영체제에서는 프로그램을 수정해서 사용해야 함. 
       하지만 java는 소스 파일을 수정하지 않아도 사용 가능한 것이 장점임.
             
  3. java는 메모리를 자동으로 관리한다.
   - java는 개발자가 직접 메모리에 접근할 수 없도록 설계되어 있으며,
      메모리를 직접 java가 관리함. 사용이 완료되면 쓰레기 수집기를 실행시켜서 자동으로 사용하지 않는 내용을 제거시켜 줌.
      따라서 메모리가 부족합니다. 라는 메세지가 나타나지 않음.
  
  4. java는 다양한 어플리케이션 개발이 용이하다.
    - 단순한 콘솔 프로그램으로부터 클라이언트용 어플리케이션 그리고 모바일 안드로이드 앱에 이르기까지 다양하게 개발이 가능함.
    

 

 자바 개발 환경

  - 자바 개발 도구(JDK) 설치
    자바 개발 키트(JDK : Java Development kit)와
    자바 실행 환경(JRE : Java Runtime Environment) 두 가지가 있어야 함.

 1. JDK는 프로그램 개발에 필요한 자바 가상 기계(JVM), 라이브러리 API,
      컴파일러 등의 개발 도구가 포함되어 있음.
 2. JRE는 프로그램 실행에 필요한 자바 가상 기계(JVM), 라이브러리 API만 포함되어 있음

※ JVM(Java Virtual Machine : 자바 가상 기계)
 - 운영체제는 자바 프로그램을 바로 실행할 수 없음. 자바 프로그램은 완전한 기계어가 아닌 중간 단계의 코드이기 때문임. 
  따라서 이것을 해석하고 실행할 수  있는 가상의 운영체제가 필요함. 이것이 바로 자바 가상 기계임.
  JVM은 실 운영 체제를 대신하여 자바 프로그램을 실행하는 가상의 운영체제 역할을 함. 
  쉽게 이야기를 한다면 "자바를 실행시키는 가상의 기계" 라고 생각하면 됨. 

 

소스 프로그램(source program)과 소스파일(source file) 

   - 소스 프로그램 : 사람이 인식할 수 있는 문장(프로그래밍 언어)을 나열해서 만든 프로그램을 말함. 대문자와 소문자를 구별함.
   - 소스 파일 : 소스 프로그램을 저장하고 있는 파일을 말함. 소스 파일의 이름은 프로그램에서 class 뒤에 적은 이름에 확장자 .java를 붙임.
   - 소스프로그램 컴파일(compile)과 클래스 파일(class file) 작성한 소스 프로그램은 바이트 코드 형식으로 변환되는 컴파일 작업이 필요함
     예를 든다면 Hello.java라는 파일을 컴파일 작업을 진행하면 Hello.class라는 이름을 가진 클래스 파일이 생성이 됨.   
   

댓글