2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

AWT&Swing vs applet??

JAVA에는 참 이름도 많고 개념도 많고 이래~저래~복잡하다 생각이 든다.
AWT니, Swing이니, Applet이니...처음에는 짜증이 확!!! 나버렸다.
그러다가 어느 순간에 헛 Swing!!! 이런 개그나 치는 신세로 전략을 해 버렸으니 ㅋㅋ

여튼 세 단어의 공통점이랄까??
Java를 통해서 GUI를 제공하기 위한 기술들이라는 점.
그러나, 조금씩 차이점이 있으니!!! 쨔!!잔!!

우선, AWT 는 Abstract Window Toolkit으로 자바의 인터페이스 제공 기술 중 하나다.
MS의 C#이나 VB를 하면 기본적으로 인터페이스가 좍좍 나와주니까 별 문제가 안 되지만서도..
(물론 이 역시도 Win32-API등을 사용한 것이지만, 기본 플랫폼이 MS 운영체제이므로 호환이 잘 되는거죠~)
자바의 경우에는 '운영체제에 독립적' 이라는 설계원칙에 의해서, Windows의 인터페이스를 지원하기 위해서는
별도의 지원방식이 필요했고, 그것이 바로 이 AWT가 되겠다.
윈도우의 화면구성을 지원하기 위한 Java2D와 입력제어를 위한 Input Method 가 존재한다.
이 녀석의 문제라면, MS Windows의 플랫폼에 의존하게 된다는 것.

그래서 나온 녀석이 바로 Swing!!! 이다.
이 녀석은 AWT에 비해서 Hi-level에 설계가 되어있어서 확장이 가능하다.
MVC 에 기반을 두고 설계가 되었기 때문에 실시간으로 화면의 변경도 가능하다.
무엇보다도 플랫폼에 독립적이며 나름 Swing은 경량 컴포넌트다.
물론 JAVA가 느리네~무겁네~라고들 많이 하지만, Swing 기술은 실행속도가 빠르고 메모리 점유율이 낮다.
AWT와 Swing은 javax.swing.JFrame을 상속받아서 사용하게 된다.
AWT를 사용하는 방법도 있지만, Swing 보다 복잡하고 사용법도 번거롭다.

Applet 는 위의 두 녀석과 다르게 웹 브라우저를 기반으로 실행되는 애플리케이션을 지칭하는 말이다.
따라서 Applet은 html 파일에서 실행되는 것이 보통인데, 이를 위해서 object tag 나 applet tag를 사용한다.
아래는 그 예제코드이다.

<object codetype=
"application/x-java-applet" classid="java:MyApplet" archive="app.jar" width=200 height=100>
</object>

Applet은 javax.swing.JApplet을 상속받아서 작성하게 된다.
지금까지의 이야기를 한 방에 정리해 줄 챠트는 바로 이 것!!
일본어로 적힌 부분은 대략 패스 ㅋㅋ (라고 해도 쉬운 일본어이므로 해석 가능하실 듯~)

[그림의 출처 - 鈴木正人、ソフトウェアアーキテクチャ論の講義資料のCH4で]

「 Written by lovelydai 」

댓글

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법