티스토리 뷰

Java/기본

002. 자바란

따강아지 2022. 2. 24. 21:53

" 한 번 적성하면 어느 플랫폼에서나 실행  ( 플랫폼 독립성 ) "

1. 자바

  • 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어
    컴파일된 코드가 플랫폼 독립적
  • 자바로 개발된 프로그램은 CPU나 운영 체제의 종류에 관계없이 JVM(Java Virtual Machine)을 설치할 수 있는 시스템에서는 어디서나 실행

 

2. 자바 철학

  • 객체 지향 방법론을 사용해야 한다.
  • 같은 프로그램(바이트코드)이 여러 운영 체제(마이크로프로세서)에서 실행될 수 있어야 한다.
  • 컴퓨터 네트워크 접근 기능이 기본으로 탑재되어 있어야 한다.
  • 원격 코드를 안전하게 실행할 수 있어야 한다.
  • 다른 객체 지향 언어들의 좋은 부분만 가지고 와서 사용하기 편해야 한다.

 

플랫폼 독립성

 

3. JDK ( Java Development Kit )

  • Java 환경에서 돌아가는 프로그램을 개발하는 데 필요한 툴들을 모아 놓은 소프트웨어 패키지
  • JRE(Java Runtime Environment)와 Java 바이트코드 컴파일러, Java 디버거 등을 포함하는 개발 도구를 포함
  • Oracle JDK는 상업적 이용을 할 경우 유료이고 Oracle의 OpenJDK 빌드 , Zulu JDK, AdoptOpenJDK 의 OpenJDK 기반 빌드를 이용 하거나  OpenJDK는 GPL 라이선스이지만 classpath exception이 적용되므로  Oracle의 지원이 메이저 버전이 올라가는 6개월마다 끊기는 점 외에는 자유롭게 사용할 수 있다.

 

4. JRE ( Java Runtime Environment )

  • 컴퓨터의 운영체제 소프트웨어 상에서 실행되고 클래스 라이브러리 및 특정 Java 프로그램이 실행해야 하는 기타 리소스를 제공하는 소프트웨어 계층
  • JDK를 사용하여 작성된 Java 코드를 JVM에서 이의 실행에 필요한 필수 라이브러리와 결합한 후 결과 프로그램을 실행하는 JVM의 인스턴스를 작성 - 수정 없이도 어떤 운영체제에 서든 Java 프로그램을 실행

 

5. JVM ( Java Virtual Machine )

  • 자바 바이트코드를 실행하는 실행기
  • 개발자가 이해하는 자바 언어를 JVM이 이해하는 자바 바이트코드로 번역

'Java > 기본' 카테고리의 다른 글

006. JVM (Java Virtual Machine)  (0) 2022.02.24
005. 자바 프로그램 구조  (0) 2022.02.24
004. 자바 개발 TOOL 설치  (0) 2022.02.24
003. JAVA 설치  (0) 2022.02.24
001. 프로그램이란  (0) 2022.02.24