자바(Java) 프로그램은 크게 두 가지 유형으로 분류할 수 있습니다. 하나는 애플리케이션(Application)이고, 다른 하나는 애플릿(Applet)입니다. 두 유형은 실행 환경과 용도에서 뚜렷한 차이를 보이며, 이를 이해하는 것은 자바 프로그래밍의 기본기 중 하나입니다.
애플리케이션(Application)이란?
- 애플리케이션은 클라이언트 또는 서버 측에서 가상 머신(JVM)의 지원을 받아 실행되는 독립형(stand-alone) 자바 프로그램입니다.
- 컴퓨터 아키텍처와 무관하게 Java 호환 가상 머신만 있다면 어떤 환경에서든 실행되도록 특정 기능을 수행하도록 설계됩니다.
- 애플리케이션은 사용자를 위해 실행되거나, 다른 응용 프로그램을 위해 실행됩니다.
- 대표적인 예로 데이터베이스 프로그램, 개발 도구, 워드 프로세서, 텍스트·이미지 편집 프로그램, 스프레드시트, 웹 브라우저 등이 있습니다.
애플리케이션 예제 코드
public class Demo {
public static void main(String args[]) {
System.out.println("Welcome to TutorialsPoint");
}
}실행 결과
Welcome to TutorialsPoint
위 예제처럼 애플리케이션은 main() 메서드를 진입점으로 하여 JVM 위에서 직접 실행됩니다.
애플릿(Applet)이란?
- 애플릿은 외부 API를 활용하여 HTML 웹 문서 안에서 실행되도록 특별히 설계된 프로그램입니다.
- 기본적으로 작은 규모의 프로그램으로, 애플리케이션의 '웹 버전'이라고 볼 수 있으며 클라이언트 브라우저에서 실행하기 위해 자바 플러그인이 필요했습니다.
- 애플릿은 클라이언트 측에서 실행되며, 주로 인터넷 컴퓨팅 목적으로 사용되었습니다.
- Java를 지원하는 웹 브라우저에서 애플릿이 포함된 HTML 페이지를 열면, 애플릿 코드가 해당 시스템으로 전송되고 최종적으로 브라우저의 Java 가상 머신에 의해 실행됩니다.
애플릿 예제 코드
import java.awt.*;
import java.applet.*;
public class AppletDemo extends Applet {
public void paint(Graphics g) {
g.drawString("Welcome to TutorialsPoint", 50, 50);
}
}
/* <applet code="AppletDemo.class" width="300" height="300">
</applet> */애플리케이션 vs 애플릿 핵심 차이 요약
- 실행 방식: 애플리케이션은 JVM 위에서 독립적으로 실행되지만, 애플릿은 웹 브라우저 내에서 실행됩니다.
- 진입점: 애플리케이션은
main()메서드가 필요하지만, 애플릿에는 main 메서드가 없습니다. - 접근 권한: 애플릿은 보안상 로컬 파일 접근 등이 제한되는 반면, 애플리케이션은 시스템 자원에 대한 접근 권한이 상대적으로 넓습니다.
- 배포 방식: 애플리케이션은 실행 파일 형태로 배포되고, 애플릿은 HTML 페이지를 통해 네트워크로 전달되었습니다.
참고: 애플릿은 과거 인터랙티브 웹 콘텐츠 구현에 널리 사용되었으나, 보안 문제와 브라우저 플러그인 지원 종료로 인해 현재는 사실상 사용되지 않는(deprecated) 기술입니다. 최신 자바 개발에서는 HTML5, JavaScript, WebAssembly 등이 그 역할을 대체하고 있으며, 데스크톱·서버 개발에서는 여전히 자바 애플리케이션이 표준적인 선택입니다.