본문 바로가기
🌈 백엔드/JAVA_기초

JAVA _프로그래밍 언어

by 개발자 알마 2023. 2. 3.
반응형

 

 

 

 

[0] 프로그래밍 정의


프로그래밍 : 컴퓨터가 작업을 수행할수있도록 프로그래밍 언어로 명령어의 집합체인 프로그램을 만드는 작업 

컴파일 : 프로그래밍 언어를 컴퓨터가 실행 가능한 기계어로 번역하는 작업

컴파일러 : 기계어로 번역하는 작업을 하는 프로그램 ( 자바 컴파일러 , gcc) 

 

 

 

[1] 객체 지향 프로그래밍


  • 프로그램 구현을 시간의 흐름순이 아닌 객체 간의 관계와 협력을 기반으로 프로그램 만드는 것 
  • 객체지향 특징 : 상속, 캡슐화, 다형성 
  • OOP (object oriented programming) 
  • 사용언어 : Java , C++ , C# , Python , JavaScript , Ruby 등 
  • 반대 : 절차 지향 프로그래밍 (c언어)

 

[2] 자바 프로그래밍 의 특징


  • 운영체제에 독립적이다 

자바언어로 설계된 응용프로그램은 JVM (자바가상머신)과 통신한다

운영체제 버전 별 JVM을 연결하여 응용프로그램의 수정없이 사용이 가능하다 

 

  • 객체 지향 언어(OOP)이다
  • 비교적 배우기 쉽다 
  • 자동 메모리 관리 (가비지 컬렉터) 
  • 네트워크와 분산처리를 지원한다 (자바 API를 사용한다)
  • 멀티쓰레드를 지원한다 (자바 API) 
  • 동적 로딩을 지원한다 - 필요한 시점에 필요한 클래스를 로딩한다 
  • 플랫폼에 영향을 받지 않아 다양한 환경에서 사용 가능하다 
  • 유지보수가 쉽고 확장성이 좋다 
  • 프로그램이 안정적이다 
  • 풍부한 기능이 제공되는 오픈 소스이다 

 

 

[3] JVM 자바 가상 머신 


  • Java Virtual Machine 
  • 자바로 작성된 모든 애플리케이션은 JVM을 통해서만 실행된다 
  • 자바가상머신
  • 프로그램이 실행되는 환경이 JRE가 설치되어야한다

 

※ JVM이 생기게 된 이유 : 운영체제 별로 응용프로그램을 만드는것은 비용이 많이 발생하기 때문에 JVM 이라는 자바가상머신을 이용하여 

1개의 응용프로그램을 윈도우에서 사용할때는 윈도우용 JVM 을 이용하여 실행 , 맥에서 사용할때는 맥 용 JVM을 이용하여 실행 , 리눅스에서 사용할때는 리눅스용 JVM 을 이용하여 실행한다. 각 운영체제 마다 프로그램을 만들지 않아도 되기 때문에 비용적 측면이 절약된다 

 

[4] JDK 자바 개발 도구


  • Java Development kit 
  • 자바에서 제공되는 개발용 라이브러리이다 
  • 자바가상머신 JVM 과 JAVA API(자바 클래스 라이브러리) 를 사용할수 있게 된다 

 

 

[5] JRE 자바 환경


  • Java Runtime Environment
  • 자바 프로그램이 실행되는 환경 

 

 

 

[6]JAVA 언어 실행 절차


 

 

1단계 JAVA 언어로 소스 코드를 작성한다  (.java파일)
2단계 javac.exe 의 컴파일러를 통해 1단계의 소스 파일을 
3단계 클래스 파일로 생성한다 (.class파일)
클래스 파일을 로드한다.
클래스파일을 파일형식, 악성코드 체크 하여 검사한다
4단계 소스 코드로 기재한 클래스 에서 main(String[] args) 를 호출한다 
java.exe 라는 인터프리터로 실행한다 
main 메서드의 첫줄부터 마지막 코드까지 모두 실행 된다 
5단계 소스코드로 작업한 내용이 출력된다 
프로그램이 모두 실행되면 종료되고 프로그램에서 사용했던 자원이 모두 반환된다 

 

 

[7] 자바 활동 영역


  • 웹 어플리케이션
  • 모바일 어플리케이션
  • 엔터프라이즈 애플리케이션
  • 웹 / 앱 서버

 

 

 

[8] 자바 플랫폼 종류


  • 1. JAVA SE 기본개발환경
  • 2. JAVA EE 서버기반 프로그램 개발환경
  • 3. JAVA ME 모바일/임베디드 개발환경 

 

//임베디드 시스템이 탑재된 핸드폰, 노트북 등  : 펌웨어가 있는 소프트웨어가 장착된 상품

//딥러닝 : 파이썬으로 주로 언어 사용 

 

 

반응형

'🌈 백엔드 > JAVA_기초' 카테고리의 다른 글

JAVA 개념_조건문  (0) 2023.02.16
JAVA 개념_ 반복문  (0) 2023.02.13
JAVA 개념_ 자료형  (0) 2023.02.13
JAVA 개념_연산자  (0) 2023.02.13
JAVA 개념_변수  (4) 2023.02.03

댓글