ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA | Applet (애플릿)
    programming/JAVA 2020. 6. 3. 23:12

     

     

    Applet (애플릿)


    작은 어플리케이션이라는 뜻으로 웹브라우저를 통해 실행될 수 있는 자바클래스를 말한다.

    application의 응용이라는 뜻과 let의 작다라는 의미의 합성어로, 크기가 작아서 네트워크 전송에 적합하며, 웹(WWW)을 사용해 배포할 수 있다.

     

    사용 브라우저는 불러온 문서안에 애플릿이라는 태그 <APPLET> 존재시 지정된 자바 애플릿을 웹 서버로부터 내려받아 실행된다.

    -> 애플릿을 HTML페이지에 포함시킬때 사용

     

    자바 어플리케이션은 java.exe를 통해 main메소드가 호출되면서 실행되지만, 애플릿은 main메소드가 필요하지 않으며 웹브라우저를 통해 실행된다.

     

     

    Applet 특성


    1. 애플릿 관련정보가 포함된 HTML문서를 작성해야한다.
    2. java.exe가 아닌 웹브라우저를 통해 실행된다.
    3. 애플릿은 java.applet.Applet을 상속하는 public 클래스여야 한다.

    * 제약사항

    ◆ 애플릿이 작동되는 클라이언트의 파일을 읽거나 쓸 수 없다.

     - 애플릿 파일이 존재했던 서버에 데이터 생성은 가능

     - 완전한 URL이 존재하는 파일 읽기는 가능

     

    ◆ 클라이언트의 프로그램을 실행할 수 없다.

     

    ◆ 클라이언트의 시스템 설정 사항을 읽을 수 없다.

     

    ◆ 현재의 클라이언트 서버 이외의 망접속은 불가능하다.

     - 애플릿 파일이 존재했던 서버상의 애플리케이션과 함께 작동했을 경우 가능

     

    Applet의 생명주기와 주요 메소드


    1. 웹브라우저가 애플릿이 포함된 HTML 문서를 읽는다.
    2. 웹브라우저가 애플릿(자바클래스)를 다운로드한다.
    3. 웹브라우저가 애플릿의 인스턴스를 생성한다.
    4. 애플릿이 초기화 된다 - init()이 호출된다.
    5. 애플릿이 실행된다 - start()가 호출된다.

    ▣ init()

    애플릿이 생성될 때 호출된다. 객체생성이나 이미지 로딩 등 애플릿 초기화 작업에 사용된다. 생성자 다음에 호출된다.

     

    start()

    애플릿의 실행이 시작 또는 재시작될 때 호출된다. 웹브라우저가 아이콘화되었다가 화면에 다시 나타날때 그리고 init()이 호출된 직후에는 반드시 호출된다.

     

    stop()

    애플릿의 실행을 중지시킨다. 웹브라우저가 아이콘화되던가 다른페이지로 이동할 때, 그리고 destory()가 호출되기 직전에 반드시 호출된다.

     

    destroy()

    웹브라우저가 닫히면서 애플릿이 소멸되기 직전에 stop() 다음으로 호출된다. 애플릿이 사용하던 자원을 반환하는 용도로 사용된다.

     

    ▣paint()

    애플릿에 그래픽 요소들을 그리기위한 메소드, start()혹은 init()메소드에 의해 자동으로 호출된다.

     

     

     

     

    애플릿은 일반 어플리케이션과 달리 init(), start(), stop(), destroy(), paint() 와 같은 특별한 메소드를 가지고 있다.

    이 메소드들은 상황에 따라 웹브라우저에 내장된 JVM에 의해 자동적으로 호출되는 것들이므로 언제 호출되는지 잘 알아두고 각 메소드를 용도에 맞게 오버로딩 해야한다.

     

     

     

     

     

     

     

    참고: https://slidesplayer.org/slide/11102739/, https://developer0513.tistory.com/122

    'programming > JAVA' 카테고리의 다른 글

    JAVA | Java SE 11 설치  (0) 2020.12.15
    JAVA | 네트워킹 (Networking)  (0) 2020.06.05
    JAVA | AWT & Swing  (0) 2020.06.02
    JAVA | 스레드(Thread)  (0) 2020.05.30
    JAVA | 인터페이스와 추상 클래스  (0) 2020.05.26
Designed by Tistory.