
남궁 성, 『Java의 정석』, 도우출판, 2016.
Intellij / JDK 25
여기서 java 설치는 다루지 않습니다.
1. 운영체제에 제한받지 않고 어디서든지 사용가능
JVM(Java Virtual Machine)을 통해서 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.
2. 객체지향언어이다
자바는 프로그래밍의 대세로 자리 잡은 객체지향 프로그래밍 언어 중 하나로 이들의 특징인 상속, 캡슐화, 다형성이 잘 적용되어 있다.
3. 멀티쓰레드 지원
하나의 프로그래밍에서 여러 개의 작입어 가능하다.
JVM이란?
자바를 실행하기 위한 가상 컴퓨터
어떤 OS에서도 JVM 덕분에 코드 실행 가능
일반 애플리케이션은 OS(운영체제)와 바로 맞붙어 있어서 OS에 종속적이다. 그래서 다른 OS에 실행시키기 위해서는 그 OS에 맞게 변경해야 한다.
하지만 Java 애플리케이션은 JVM하고만 상호작용을 하기 때문에 OS와 하드웨어에 독립적이라 다른 OS에서도 프로그램의 변경없이 실행이 가능한 것이다. 단 JVM은 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요하다.
class Ex1_1 {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
| 명칭 | 설명 |
|---|---|
| class | 자바에서 모든 코드는 반드시 클래스 안에 존재해야 하며, 서로 관련된 코드들을 그룹으로 나누어 별도의 클래스를 구성하게 된다. 그리고 이 클래스들이 모여 하나의 Java 애플리케이션을 이룬다. |
| public static void main(String[] args){} | main 메서드의 선언부이다. java.exe에 의해 약속된 문장이므로 꼭 이렇게 적어준다. main 메서드의 선언부 뒤에 나오는 괄호는 메서드의 시작과 끝을 의미하며, 사이에 작업할 내용을 작성하면 된다. |
| System.out.println() | 괄호 안에 작성한 것이 출력되는 메서드 |
모든 클래스가 main메서드를 가지고 있어야 하는 것은 아니지만, 하나의 Java 애플리케이션에는 main메서드를 포함한 클래스가 반드시 하나는 있어야 한다.
main 메서드가 java의 시작점이므로 꼭 main 메서드가 있어야만 실행이 된다.
Hello.java 파일 작성 -> javac.exe에서 컴파일 -> Hello.class 생성 -> java.exe에서 실행 -> System.out.println문 출력
JDK(자바 개발도구) 설치 완료 후 설치된 디렉토리의 bin 디렉토리에 path를 추가해준다.
이 디렉토리에는 자바로 프로그램을 개발하는데 필요한 실행파일들이 들어있다.
path는 OS가 파일의 위치를 파악하는데 사용하는 경로로, path에 디렉토리를 등록하면,
해당 디렉토리에 포함된 파일을 파일 경로없이 파일 이름만으로도 사용할 수 있게 된다.
아래는 JDK의 bin 디렉토리에 있는 주요 실행파일들 중 대표 2개이다.
| 파일명 | 설명 |
|---|---|
| javac.exe | 자바 컴파일러, 자바소스코드를 바이트코드로 컴파일한다. |
| java.exe | 자바 인터프리터, 컴파일러가 생성한 바이트코드를 해석하고 실행한다. |
// 나 /**/로 표기한다.