소형기기에 들어갈 소프트웨어를 만들기 위해 개발되었으나, 운영체제에 독립적이라는 장점을 활용하여 개발 방향을 인터넷에 적합하게 변경
그 후 Java로 개발한 웹 브라우저인 'Hot Java'를 발표하고 1996년에 정식 버전 배포.
초기에는 멀티미디어(사운드, 애니메이션 등)를 제공하는 Applet에 주로 사용되었지만, 보안상의 이유로 지원하지 않고 현재는 서버 쪽 프로그래밍을 위한 서블릿(Servelt)과 JSP에 주로 사용됨
JVM (Java Virtual Machine) : 자바를 실행하기 위한 소프트웨어로 구현된 하드웨어. Java는 JVM에서 실행되기 때문에 OS에 독립적이다.
Java는 JVM을 거쳐 실행되고 interpret되는 언어이기 때문에 속도가 느릴 수 있다. 최근엔 JIT컴파일러와 최적화 기술로 속도격차를 줄였다고 함.
JVM덕분에 운영체제 독립인 자바의 작동에 대해서 살펴보자.
자바로 작성한 파일을 실행하기 위해서는 두 번의 단계를 거쳐야만 한다.
project.java
파일을 project.class
파일로 바꾸는 단계javac.exe
가 수행한다project.class
파일 실행java.exe
이 project.class
파일을 해석(interpret)하고 실행한다.이러한 중간과정 덕분에 Java가 OS에 독립적이라는 장점을 가진다.
그렇기 때문에 자바로 프로그래밍을 하기 위해선 javac.exe
, java.exe
, javap.exe
등의 실행 파일들이 있는 JDK(Java Development Kit)가 필요하며, IDE를 통해 직접 사용하지 않아도 프로그램을 실행하면 자동으로 실행이 된다. 사용할 일은 없겠지만, 기본적인 구조에 대해서는 알아두자.
자바의 모든 코드는 반드시 클래스 안에 존재하여야 하며,
관련된 코드들이 별도의 클래스들을 이루고, 이 클래스들이 모여 Java 어플리케이션을 이룬다.
Java 어플리케이션은 main 메서드를 포함한 클래스가 반드시 하나 있어야 한다.
java.exe
가 main
메서드를 호출하여 Java 어플리케이션을 실행한다.
class Hello{
public static void main(string[] args){
System.out.println("Hello, world.");
}
}
Java 어플리케이션은 여러 소스파일들이 구성한다.ㄴ
하나의 소스파일내에 하나의 클래스를 정의하는 것을 권장한다.\
또, 소스파일내에 public class
가 존재하는 경우, 소스파일의 이름은 반드시 public class
의 이름과 동일해야 하며, public class
는 반드시 하나만 존재하여야 한다
//ex)
//Hello.java
public class Hello{
// ...
}
//hello.java
public class Hello{
// ...
} //Wrong