✅ 자바 ✅ 서블릿 ✅ JSP ✅ JVM
자바
객체지향 프로그래밍 언어
자바 프로그램
- 서블릿 (Servelet)
자바를 사용하여 웹 페이지를 동적으로 생성하는 서버측 프로그램
- JSP (Java Server Pages)
HTML 코드에 JAVA 코드를 넣어 동적 웹 페이지를 생성하는 웹 어플리케이션 도구
특징
- 객체지향언어
- 상속 : 자식 클래스가 부모 클래스의 기능을 그대로 물려받을 수 있다.
- 캡슐화 : 객체의 속성(data fields)과 행위(메서드, methods)를하나로 묶고, 실제 구현 내용 일부를 외부에 감추어 은닉한다.
- 다형성 : 하나의 객체가 여러가지 타입을 가질 수 있는 것
- Garbage Collection
- 네트워크와 분산처리 지원
- 다양한 네트워크 프로그래밍 라이브러리(Java API) 제공
- 멀티쓰레드 지원
- 시스템(OS)과 관계없이 멀티쓰레드 구현가능
- 관련 라이브러리(Java API) 제공
- 스케줄링 : 자바 인터프리터가 담당
- 동적 로딩 지원
- 필요한 시점에 클래스를 로딩하여 사용 가능
- 일부 클래스가 변경되어도 전체를 다시 컴파일하지 않아도 됨 (유연)
- 운영체제에 독립적이다.
JVM
자바 응용프로그램의 명령을 운영체제가 이해할 수 있도록 변환하여 전달
- 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신
- JVM은 운영체제에 종속적이므로 운영체제마다 서로 다른 버전의 JVM 제공
- 단점 : 실행 시에 해석(interpret)되기 때문에 속도가 느리다
실행 과정
Hello.java 작성
-> javac.exe 컴파일 -> Hello.class 생성
-> java.exe. 실행 -> "Hello.world" 출력
class 작성법
- main 메서드 선언부
class 클래스이름{
public static void main(String[] args)
{
// 실행될 문장
}
}
- 주의사항
- 하나의 소스파일에 하나의 클래스만을 정의하는 것이 보통
- 하나의 소스파일에 둘 이상의 클래스를 정의하는 것도 가능
- 소스파일의 이름은 public class의 이름과 일치해야 한다.
- public class가 없다면, 소스파일의 이름은 소스파일 내의 어떤 클래스의 이름으로 해도 상관 없다.