U E D R , A S I H C RSS

Java Study2004/�바따�잡기

수업 내용

  • Javaì�˜ 탄ìƒ�ë°°ê²½
    �바(JAVA)하면 섬나� �바를 연�케 한다. 그러나 미국 사람들�게 �바는 �스프레소 커피로 유명한 커피 체��� �� 하게 �다. 유래는 커피체���고, 커피� 대명사로� 사용�다.
    그런� 언제부터�지, 네트워�� 대명사� �터넷�서 � �바 커피가 하나밖� 없는 �특한 향기를 뿌리고 있다. �터넷� 좀 아는 사람��면 �바를 들어보지 못한 사람� 거� 없� 것�다. �바는 월드와�드웹 ��서 프로그램� 실행할 수 있게 하는, 네트워�를 기반으로하는 언어로, �터넷 프로그래� 언어� 표준� �었다.
    �바가 �터넷 세계�서 관심� 초�� � 것� 먼저 세계를 하나로 엮는다는 �터넷� 기본 환경으로 하고 있으면서 �터넷� 연결�는 수많� 서로 다른 운�체제(OS)들�서 ��한 모습으로 프로그램� 실행할 수 있다는 ��다.
    요약해서 �하면 �바는 �터넷� 기반� 웹� 프로그램 언어(Language)�고 �해하면 �다.
    �바� 탄� 배경� 알면 �바 언어� 특성� 대한 �해가 쉬워질 것�다.
    ìž�바는 가전 제품ì—� 들어갈 소프트웨어를 만들기 위해 탄ìƒ�했다. ìž�바를 개발한 사람ì�€ ì„  마ì�´í�¬ë¡œì‹œìŠ¤í…œì¦ˆ 사ì�˜ 제임즈 고슬ë§�(James Gosling)ì�´ë�¼ëŠ” 사람ì�´ë‹¤. 그는 특정한 컴퓨터 칩ì—� 대해 컴파ì�¼í•˜ì—¬ì•¼ 하는 ë„�리 알려진 컴퓨터 언어ì�¸ C 언어ì�˜ 문제ì �, ë˜� 가전 제품ì�˜ 긴 수명으로 ì�¸í•œ 완벽한 호환ì�„ 가진 소프트웨어ì�˜ 개발 요구, 가전 제품ì—� 사용ë�  소프트웨어ì�˜ 높ì�€ 신뢰성 í•„ìš” 등ì�˜ 문제ì—� 대한 해결방안ì�„ 모색 해야만 됬다.
    � 문제를 해결하기 위하여 고슬�� C와 C++를 개조해서 해결� 해보려고 시�를 했� 것�다.그래서 C언어� 불필요한 부분�나 문제가 � 부분들� 제거한 새로운 언어를 개발하게 �였는�, �것� 바로 �바� 것�다. 최초로 �바를 �용한 프로�트는 가전 제품과 전기 기기들� 통합하여 가정 환경� 새로운 �터페�스를 제공하는 소위 그린 프로�트(Green Project)�는 것 �였다. 그러� 1993년, 그래픽 기반� 월드와�드웹� 발표�고 �바� 개발�들� 곧 �러한 웹 기반� �용 프로그램�는 �바와 같� 기기(컴퓨터 � 그 운�체제)로부터 �립� 언어가 �����는 것� 발견하였다. 그리하여 그들� 개발한 것� 나중� 핫�바(HotJava)로 �름� 바� 웹러너(WebRunner)�는 웹 브�우저였다. �것� 최초로 �바를 지�한 웹 브�우저가 �었다. �바�는 �름� 지역� 어� 커피� 안�서 얻었다. 그래서 지금� 웹 페�지�서 항� �고 있는 커피� �징� 볼 수 있다.

  • Javaì�˜ 특징, C++ê³¼ì�˜ ì°¨ì�´ì �
    • 기계중립ì �
    • GarbageCollection
    • http://www.homepi.co.kr/java/java_4.htm참고하세요
      • No More Typedefs, Defines, or Preprocessor
      • No More Structures or Unions
      • No More Functions
      • No More Multiple Inheritance
      • No More Goto Statements
      • No More Operator Overloading
      • No More Automatic Coercions: ìž�ë�™ 형 변환ì�´ 안ë�œë‹¤.
      • No More Pointers

  • VM(ê°€ìƒ�머신)ì�€ 무엇ì�¸ì§€? ì�´ê²ƒì�˜ 장단ì �
    • 1. 최근ì�˜ 컴퓨터 분야ì�˜ 용례ì—�서, ê°€ìƒ�머신ì�€ ìž�ë°” 언어 ë°� ê·¸ 실행 환경ì�˜ 개발ìž�ì�¸ ì�¬ 마ì�´í�¬ë¡œì‹œìŠ¤í…œì¦ˆì—� ì�˜í•´ 사용ë�œ 용어ì�´ë©°, 컴파ì�¼ë�œ ìž�ë°” ë°”ì�´ë„ˆë¦¬ 코드와, 실제로 프로그램ì�˜ 명령어를 실행하는 마ì�´í�¬ë¡œí”„로세서(ë˜�는 하드웨어 플랫í�¼) ê°„ì—� ì�¸í„°íŽ˜ì�´ìФ ì—­í• ì�„ 담당하는 소프트웨어를 가리킨다. ìž�ë°” ê°€ìƒ�머신ì�´ ì�¼ë‹¨ 한 플랫í�¼ì—� 제공ë�˜ë©´, ë°”ì�´íŠ¸ì½”ë“œë�¼ê³  불리는 어떠한 ìž�ë°” 프로그램ë�„ ê·¸ 플랫í�¼ì—�서 실행ë�  수 있다. ìž�바는, ì�‘용프로그램들ì�´ ê°�ê°�ì�˜ 플랫í�¼ì—� 맞게 재작성 ë�˜ê±°ë‚˜, 다시 컴파ì�¼í•˜ì§€ 않아ë�„ 모든 플랫í�¼ì—�서 실행ë�˜ëŠ” 것ì�„ 허용하ë�„ë¡� 설계ë�˜ì—ˆë‹¤. ìž�ë°” ê°€ìƒ�머신ì�´ ì�´ë¥¼ 가능하게 한다. ìž�ë°” ê°€ìƒ�머신ì�˜ 규격ì�€ 실제 "머신"(프로세서)ì�´ 아닌 ì¶”ìƒ�ì �ì�¸ 머신ì�„ ì •ì�˜í•˜ê³ , 명령어 ì§‘í•©, 레지스터들ì�˜ ì§‘í•©, 스íƒ�, 가배지를 모ì�€ heap, 그리고 ë©”ì�˜ë“œ ì˜�ì—­ 등ì�„ 지정한다. ì�´ëŸ¬í•œ ì¶”ìƒ�ì �, 혹ì�€ 논리ì �으로 ì •ì�˜ë�œ 프로세서ì�˜ 실제 구현ì�€, 실제 프로세서ì—� ì�˜í•´ ì�¸ì‹�ë�˜ëŠ” 다른 코드, 혹ì�€ 마ì�´í�¬ë¡œí”„로세서 ê·¸ ìž�ì²´ì—� 내장ë�  수ë�„ 있다. ìž�ë°” 소스 프로그램ì�„ 컴파ì�¼í•œ 결과를 ë°”ì�´íŠ¸ì½”ë“œë�¼ê³  부른다. ìž�ë°” ê°€ìƒ�머신ì�€, 실제 마ì�´í�¬ë¡œí”„로세서ì�˜ 명령어ì—� 그것ì�„ 대ì�‘시키면서 한번ì—� 한 명령어씩 ë°”ì�´íŠ¸ì½”ë“œë¥¼ í•´ì„�하거나, ë˜�는 ê·¸ ë°”ì�´íŠ¸ì½”ë“œëŠ” 실제 마ì�´í�¬ë¡œí”„로세서ì—� 맞게 JIT 컴파ì�¼ëŸ¬ë�¼ê³  불리는 것ì�„ ì�´ìš©í•´ 나중ì—� 컴파ì�¼ë�  수ë�„ 있다.
    • 2. IBMì—�서 ë§�하는 ê°€ìƒ�머신ì�€, 다중사용ìž�ê°€ ìž�ì›�ì�„ 공유하는 ìš´ì˜�체계를 ë§�하며, ê°� 사용ìž�는 마치 ê·¸ 시스템ì�˜ 모든 ìž�ì›�ì�„ 혼ìž� ë�…ì �하는 것처럼 ëŠ�낀다.
    • 3. IBMì—�서 ë§�하는 ê°€ìƒ�머신ì�´ë�¼ëŠ” 용어는 ë˜�한, 내재ë�œ 콘트롤 프로그램ì—� ì�˜í•´ êµ�대로 관리ë�˜ëŠ” ìš´ì˜�체계를 ì�˜ë¯¸í•˜ëŠ”ë�° 사용ë�˜ê¸°ë�„ 한다. 그렇기ì—�, IBMì�˜ VM/ESA는 IBM S/390시스템 ìƒ�ì�˜ 다중 ê°€ìƒ�머신ì�„ ì¡°ì •í•  수 있는 것ì�´ë‹¤.
    • 4. ê·¸ ë°–ì�˜ 경우ì—�서ì�˜ ê°€ìƒ�머신ì�€, 컴퓨터를 실행하는 ìš´ì˜�체계나, ì–´ë–¤ 프로그램ì�„ ì�˜ë¯¸í•˜ê¸° 위해 사용ë�˜ê¸°ë�„ 했었다. ì�´ë¥¼ ì�¸ìš©í•˜ë©´
      "실행�고 있는 프로그램� 간혹 가�머신��고 불려진다. - 실제 물리�� 현실로 존재하지 않는 머신. 가�머신 아�디어는, 그 �체로 기술� 역사�서 가장 멋진 아�디어 중� 하나�며, 소프트웨어� 관한 아�디어� 진화� 있어 매우 결정�� 단계�고 �할 수 있다. 그것� 따�잡기 위해, 과학�와 기술�들� 프로그램� 운�하는 컴퓨터가, 단지 세��나 하는 세�기가 아니�는 것� ��해야만 했다. 세�기는 그 안� 어떠한 옷들� 넣는다 해� 여전히 세�기�지만, 컴퓨터는 새로운 프로그램� 넣는다면, 그것� 완전히 새로운 기계가 �다.... 가�머신, 그것� 소프트웨어를 �해하는 방법�며, 소프트웨어� 설계가 기계� 설계와 다르다는 것� ��하게 한다."
      ìœì „ : 1997ë…„ 9월호 디스커버 잡지 72쪽ì—� 실린, David Gelernterì�˜ "Truth, Beauty, and the Virtual Machine".

  • ìž�ë°”ì�˜ 종류와 버젼ìƒ�황, 과정

  • J2SE 설치와 Eclipse툴 사용, 컴파ì�¼, 실행
  • " Hello, World!" ìœë ¥í•˜ê¸°

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:32
Processing time 0.0068 sec