코드몬스터 2022. 9. 23. 14:03
728x90
💡 본 내용은 생활코딩의 Java 입문 수업을 듣고 정리한 내용입니다.

 

자바란?

  • 객체 지향적(Object-oriented)
    • 자바는 숫자(int, float, long 등)나 논리값(true, false)을 제외한 거의 모든 것이 객체로 구성되어 있다.
    • 실제로 자바는 Object 클래스에서 모든 클래스를 파생한다.
  • 인터프리터 언어(Interpreted)
    • 정확하게 말하면 컴파일 언어인 동시에 인터프리터 언어이다.
    • ★먼저 텍스트 소스를 컴파일하여 2진 파일(클래스 파일)로 만든 다음 자바 런타임이 클래스 파일을 인터프리트하면서 실행한다.
    • 시스템에 무관한 2진 파일을 만듬으로써 자바는 컴파일 언어에 가까운 속도와 시스템 독립성을 동시에 얻을 수 있었다.
  • 강력하다(robust)
    • 자바는 포인터 연산을 지원하지 않는다. 잘못된 주소를 가르킬 가능성을 사전에 없애 버렸다.
    • 리소스 관리(garbage collection)를 하는데 사용이 끝난 리소스를 시스템이 메모리에서 삭제하는 방식을 채택하고 있어 메모리 누출에 대한 고민을 프로그래머가 할 필요가 없다.
  • 안전하다(Secured)
    • 자바는 프로그램 작성 시 자료형 타입에 굉장히 민감하다
    • 마치 코딩할 때 잔소리꾼이 끊임없이 따라다니며 잘못된 코드를 작성하지 않게끔 도와주는 역할을 한다. 그래서 자바는 일단 컴파일만 되면 실행 시 오류가 발생하는 경우가 다른언어에 비해 현저히 낮다
  • 플랫폼 독립적이다(Platform independent)
    • 자바 런타임이 설치된 시스템에서는 어디서나 자바 프로그램(이진 코드(클래스) 파일)을 실행할 수 있다.
    • 자바 프로그램이 Virtual Machine에 의해서 실행되기 때문 os에 상관없이 어디서든 돌려볼 수 있다.
  • 멀티 쓰레딩을 지원한다(Multithreaded)
    • 하나의 프로그램 단위가 동일한 쓰레드를 동시에 수행할 수 있다.
    • 멀티 프로세서 하드웨어를 지원하도록 설계되었으므로 멀티 CPU 시스템에서 높은 효율을 낼 수 있다.
  • 동적이다(Dynamic)
    • 자바 인터페이스를 이용하면 하나의 모듈을 갱신할 때 다른 모듈을 모두 갱신할 필요가 없다.
    • 이것은 인터페이스가 모든 인스턴스 변수와 도구의 실행문을 배제한 채 객체 간의 상호 작용을 정의하기 때문이다.

 

 자바 설치

  • Java SE(Java Platform, Standard Editioin)
    • 자바라는 언어가 어떠한 문법적인 구성을 가졌는지와 같은 것들을 정의하고 있다.
    • 구체적인 소프트웨어가 아니고 소프트웨어의 설게도라고 할 수 있다.
  • JDK(Java Development Kit)
    • Java 프로그램을 실행하면 Java 코드를 컴파일하는 컴파일러와 개발에 필용한 각종 도구 그리고 JRE가 포함되어 있다.
    • 개발자를 위한 자바 버전
  • JRE(Java Runtime Environment)
    • 자바가 실제로 동작하는데 필요한 JVM, 라이브러리, 각종 파일들이 포함되어 있다.
    • 자바로 만들어진 프로그램을 구동하려고 한다면 이것을 설치한다.
    • 일반인을 위한 자바 버전
  • JVM(Java Virtual Machine)
    • 자바가 실제로 구동하는 환경
    • 자바로 만들어진 소프트에어는JVM 이라는 가상화된 환경에서 구동된다.
    • 하드웨어나 운영체제에 따라서 달라질 수 있는 호환성의 문제는 운영체제 버전에 따라서 만들어진 JVM이 알아서한다.
    • 즉, 어떤 환경에서도 실행할 수 있는 것이 바로 JVM의 역할

 

 설치 방법

  1. Java 17
    • Java 17 LTS(Long Term Support) is the latest long-term support release for the Java SE platform
    • 가장 안정적인 버전
  2. Java 19
    • 최신 버전으로 버그 등을 발견할 수 있다.
  3. 설치 사이트
  4. 설치 순서 

 

 자바프로그램 동작

 

 

 

 참고 사이트

  1. 점프 투 자바
  2. 생활코딩