Page 416 - MDP2020-3
P. 416

410
                      |    인천전자마이스터고등학교  ·············································································································

            4.  펌웨어

               가.  개요
                 마이크로  프로세서와  서버는  USB  통신을  통해서  데이터를  주고받는다.  하지만  일반적인
             윈도우  PC에서는  USB라인을  통한  데이터  입력을  바로  DB에  접근시키고,  웹페이지에  올릴

             수  없기  때문에,  JAVA를  활용한  서드  파티  프로그램을  제작하여  이러한  역할을  수행하고자
             하였다.  제작  언어는  서버  측은  Java로,  마이크로  프로세서,  즉  게임기에서는  C를  사용하였
             다.
               나.  자바의  정의

                 자바(Java)는  객체  지향  프로그래밍  언어  중  하나로  썬  마이크로시스템즈에
             서  처음  자바  언어를  발표했다.  초기의  자바는  가전  제품에  탑재할  프로그래
             밍  언어로  개발되었지만,  지금은  스마트폰을  비롯,  각종  장비와  데스크톱에서
             실행되는  애플리케이션을  개발하는  중추적인  언어로  자리매김하였다.

               다.  자바의  특징
                 1)  이식성이  높은  언어이다.  이식성이란  서로  다른  실행  환경을  가진  시스템  간에  프로그
             램을  옮겨  실행할  수  있는  것을  말한다.  자바  언어로  개발된  프로그램은  소스  파일을  수정하
             지  않아도,  자바  실행  환경(JRE)이  설치되어  있는  모든  운영  체제에서  실행  가능하다.
                 2)  객체  지향  언어이다.  객체  지향  프로그래밍이란  프로그램을  개발하는  기법으로,  부품에

             해당하는  객체들을  먼저  만들고  이것들을  하나씩  조립  및  연결해서  전체  프로그램을  완성하
             는  기법을  말한다.  자바는  100%  객체  지향  언어이며,  객체를  만들기  위해  설계도인  클래스
             를  작성하고  객체와  객체를  연결하여  목적에  맞는  프로그램을  만들어  낸다.  또한  객체  지향
             언어가  가져야  할  캡슐화,  상속,  다형성  기능을  완벽하게  지원한다.

                 3)  함수적  스타일  코딩을  지원한다.  함수적  프로그래밍은  대용량의  데이터  병렬  처리와  이
             벤트  지향  프로그래밍을  위해  적합하기  때문에  최근  들어  다시  주목받고  있다.  자바는  이  함
             수적  프로그래밍을  위해  람다식을  자바  8부터  지원한다.  람다식을  사용하면  컬렉션  요소를
             필터링,  매핑,  집계  처리하는게  쉬워지고,  코드가  매우  간결해진다는  장점이  있다.
                 4)  메모리를  자동으로  관리한다.  C++이  메모리  관리를  위해  개발자가  직접  코드를  작성
             해야  하는  반면,  자바는  개발자가  메모리에  직접  접근할  수  없으며  자바가  직접  메모리를  관

             리한다.  객체를  생성할  때  자동적으로  메모리  영역을  찾아서  할당하고,  사용이  완료되면
             Garbage  Collector를  실행시켜  자동적으로  사용하지  않는  객체를  제거한다.  따라서  개발자
             는  메모리  관리의  수고스러움을  덜고,  코딩에  좀  더  집중할  수  있다.
                 5)  다양한  애플리케이션을  개발할  수  있다.  자바는  윈도우,  리눅스,  유닉스,  맥  등  다양한

             운영체제(OS)에서  실행되는  프로그램을  개발할  수  있다.  또한  콘솔  프로그램,  클라이언트용
             윈도우  애플리케이션,  서버용  웹  애플리케이션,  모바일용  안드로이드  앱에  이르기까지  거의
             모든  곳에  실행되는  프로그램을  개발할  수  있다.
                 6)  멀티스레드를  쉽게  구현할  수  있다.  자바는  스레드  생성  및  제어와  관련된  라이브러리
             API를  제공하고  있기  때문에  OS와  무관하게  멀티  스레드를  쉽게  구현할  수  있다.
                 7)  동적  로딩(Dynamic  Loading)을  지원한다.  애플리케이션이  실행될  때  모든  객체가  생

             성되지  않고,  각  객체가  필요한  시점에  클래스를  동적  로딩해서  생성한다.  또한  유지보수  시
             해당  클래스만  수정하면  되기  때문에  전체  애플리케이션을  다시  컴파일할  필요가  없다.  따라
             서  유지보수가  쉽고  빠르다.
   411   412   413   414   415   416   417   418   419   420   421