[Java의 정석] 1. 자바를 시작하기 전에

0woogie·2022년 8월 16일
0

1. 자바(Java Programming Language)

1.1 자바란?

대표적인 객체지향 프로그래밍 언어(O.O.P)이다.

1.3 자바의 특징

  1. 운영체제에 독립적이다.
    자바 응용프로그램은 운영체제나 하드웨어가 아닌 자바가상머신(JVM)하고만 통신하기 때문이다. 단, JVM은 운영체제에 종속적이어서 해당 OS에서 실행가능한 JVM이 필요하다.
  2. 객체지향언어이다.
  3. 비교적 배우기 쉽다.
  4. 자동 메모리 관리
    자바로 작성된 프로그램이 실행되면, 가비지 컬렉터가 자동적으로 메모리를 관리해주기 때문에 프로그래머는 메모리를 따로 관리하지 않아도 된다.
  5. 네트워크와 분산처리를 지원한다.
  6. 멀티쓰레드를 지원한다.
  7. 동적 로딩을 지원한다.
    실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.

1.4 JVM(Java Virtual Machine)

  • 일반 프로그램과 달리 자바 프로그램은 JVM을 한 번 더 거치고, 실행 시에 해석(interpret)되는 방식이기 때문에 속도가 느리다는 단점이 있다.
  • 앞서 '자바의 특징'에서 언급한 것처럼 자바 프로그램은 OS와 하드웨어에 독립적이다. (단, JVM은 OS에 종속적)
  • 이러한 구조를 통해 자바의 중요한 장점 중 하나인 "Write once, run anywhere."이 가능하게 된다.

2. 자바개발환경 구축하기

2.1.1 JDK와 JRE

JRE = JVM + Java API
JDK = JRE + tools (컴파일러 등을 포함한 개발도구들)

  • 개발(컴파일 등)을 할 것이라면 tools을 포함한 JDK가 필요, 실행만 할 것이라면 JRE만 필요!

2.1.2 JDK의 bin 디렉터리(tools에 해당)에 들어 있는 주요한 개발 소프트웨어들

javac: 자바 컴파일러. 자바 소스를 바이트 코드로 변환
java: 자바 인터프리터. 바이트 코드를 해석하고 실행, JVM을 작동시켜 자바 프로그램을 실행시키기 때문에 java launcher로도 불림
javap: 역어셈블러. 컴파일된 클래스파일을 원래의 소스로 변환
javadoc: 자바 소스로부터 HTML 형식의 API 도큐먼트 생성
jar: 자바 클래스 파일을 압축한 자바 아카이브 파일(.jar) 생성 및 관리

바이트코드 - JVM이 이해할 수 있는 기계어, JVM은 바이트코드를 해당 OS의 기계어로 변환하여 OS로 전달함

3. 자바로 프로그램 작성하기

3.0 자바 API 문서를 종종 읽어보자!..

일단 링크는 드릴게..

3.1 소스파일의 이름은 public class의 이름과 일치해야 한다.

  1. 소스파일에 public class가 없어도 된다!
  2. 하지만 있다면 반드시 소스파일의 이름은 public class의 이름과 일치해야 한다.
  3. 하나의 소스파일에 둘 이상의 public class가 있으면 안 된다.
  4. 구체적인 예시는 자바의 정석 1권 p.10 참고

3.4 주석

/* 범위 주석 */
// 한 줄 주석

3.5 이 책으로 공부하는 방법

  1. 자바의 정석 1권 p.14-15 참고
  2. 별도 pdf로 제공되는 연습문제 풀기
  3. 모르는 내용은 네이버 카페를 활용하기
profile
정리하고 다듬기 위한 공간

0개의 댓글