13
www.estudy.or.kr 전자상거래 관리사 2급 22단원 CGI와 스크립트 및 프로그래밍 언어

22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

1. CGI와 스크립트 언어

2. 프로그래밍 언어

www.estudy.or.kr

전자상거래 관리사 2급

22단원

CGI와 스크립트 및

프로그래밍 언어

Page 2: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

2-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

■ 학습내용

1) CGI와 스크립트 언어

2) 프로그래밍 언어

1.개념

스크립트는 일종의 각본이며 어떤 사건이 발생하는 일련의 과정을 기술하여 놓은 것

을 말한다. 소프트웨어로 실행시키는 순서처리를 문자형식으로 기술한 것으로 일반적

인 프로그래밍 언어와는 약간 다른 스크립트 언어를 사용해 작업과정을 기술한 것이

다.

기능적으로는 프로그램과 거의 동일하지만 스프레드시트나 하이퍼텍스트 등에서 몇

가지 처리를 순차적으로 실행시키는 등 순서를 특정 키나 버튼 등에 할당할 때 사용

한다.

스프레드시트 등에서는 매크로라 부르는 경우도 있으며 매크로도 텍스트로 처리할 수

있으므로 스크립트의 한 종류라 생각해도 되며 하이퍼 카드(애플)나 WINGZ(아스키)

등에서 스크립트 처리 기능이 있다.

윈도우에 있는 레코더 기능도 키보드나 마우스의 동작을 기록하여 실행하지만, 텍스

트로 편집하는 것일 뿐이어서 스크립트라고 부르지 않는다.

2.CGI(Common Gateway Interface)

CGI는 HTTP 즉 웹서버와 같은 정보 서버를 외부 응용 프로그램과 연결하는 인터페이

스의 표준으로 서버와 클라이언트간에 서로 동적인 대화를 위하여 사용되는 프로토콜

이다.

CGI는 서버에 직접 설치해서 사용하는 프로그램이며 외부 프로그램이나 소프트웨어,

게이트웨이를 운영체제와 상관없이 가동시켜 줄 수 있도록 해준다.

일반적인 HTML 문서와 같이 브라우저의 요구에 대해 서버가 단순히 파일을 제공하는

것이 아니라 브라우저의 요구에 의해 서버가 별도의 프로그램을 가동하여 그 결과를

브라우저에 되돌려 실행하는 인터페이스이다.

메모리의 구성요소는 메모리가 저장할 수 있는 단위수인 용량, 데이터에 접근 소요

시간인 접근시간, 초당 읽을 수 있는 데이터 워드 수인 데이터 전송률, 메모리 사이클

인 주기시간으로 되어있다.

우리가 흔히 볼 수 있는 대표적인 CGI 프로그램의 하나로 검색사이트의 검색엔진

(Search Engine)을 예로 들 수 있다. 검색 사이트에서 찾고자 하는 단어를 입력하면

학습개요

1) CGI와 스크립트 언어

Page 3: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

3-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

그 단어가 들어있는 웹사이트의 목록을 보여주는데, 이를 가능하게 하는 것이 바로

CGI 프로그램이다.

CGI의 특징

1.외부 프로그램을 실행하는 표준방식

CGI 프로그램의 호출은 모든 서버에서 같은 방식으로 이루어지며, CGI 프로그

램의 변수는 이미 표준화된 환경 변수를 통하여 전달되기 때문에 웹을 사용하는

모든 서버와 모든 클라이언트에서 외부 프로그램을 실행할 수 있는 유일한 방법

이라고 할 수 있다. 이는 운영체제와 플랫폼에 따라 실행환경이 제약 받는

ActiveX에 비교할 때 큰 장점이라고 할 수 있다.

2. 사용의 편리성

CGI를 사용하기 위해서 클라이언트가 해야 할 일은 해당 URL에 CGI 프로그램

의 위치를 기술하는 것 뿐이다. 프로그램은 서버 측에만 있으면 되기 때문에 사

용이 편리하다.

3. 무리한 프로세스 생성

수많은 클라이언트가 CGI 프로그램의 수행을 요청하면 서버는 많은 수의 프로

그램이 동시에 실행되므로 서버에 부하가 발생할 수 있다. 이는 프로그램 수행

이 클라이언트 측에서 실행되는 자바나 ActiveX에 비하여 단점이라 할 수 있다.

3. PERL(Practical Extraction and Report Language)

PERL은 임의의 문서 파일을 검색하고 문서 안에 포함되어 있는 정보를 찾아내서 찾

아낸 정보를 출력할 목적으로 디자인된 CGI 언어이다. PERL은 유닉스를 기반으로 하

는 서버측 스크립트 언어이다.

Page 4: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

4-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

참고. 서버 사이트 스크립트 언어

서버 사이드 스크립트 언어와 클라이언트 사이드 스크립트 언어의 가장 주목할

만한 차이라면 스크립트 처리의 위치라고 할 수 있다. 그림에서 보는 바와 같이

서버에 위치한 스크립트를 포함한 HTML 문서가 전달되어 보여질 때, 스크립트

해석을 서버측 처리기에서 하느냐, 그냥 보내서 브라우저의 기능에 맡기느냐의

차이라고 볼 수 있다.

이러한 서버 사이드 스크립트에는 PERL, PHP외 에 마이크로소프트사에서 개발

한 ASP가 있다.

반면에 클라이언트 사이드 스크립트에는 자바 스크립트가 바로 그 대표적인 예

이다.

우리가 PHP 기술이라고 할 때는 그림에서 보는 기능을 하는 PHP 처리기(파서

소프트웨어)와 PHP 언어문법을 통칭하여 PHP 기술이라 한다.

4. ASP(Active Server Pages)

ASP(Active Server Pages)는 1995년 말에 등장한 IIS(Internet Information Server)의

세 번째 버전으로 마이크로소프트사 윈도우 NT의 IIS 3.0 이상에서만 동작하는 특별한

페이지이다.

이 ASP는 웹을 프로그래밍할 수 있는 HTML과는 달리 서버에서 동작하여 동적인 페

이지 구성을 할 수 있는 스크립트이다.

Page 5: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

5-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

동적인 페이지 구성이란 클라이언트(접속자)가 요청한 페이지를 서버가 즉시 해당 접

속자에게 보내주는 것이 아니라, 서버에서 일정한 작업을 처리한 뒤 HTML 태그를 이

용하여 페이지를 구성해 전달해주는 것이다. 이때 웹 서버에 있는 ASP.DLL이 사용된

다.

ASP는 IIS 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은 비주얼 베이직 언어

의 문법 중 많은 부분을 사용할 수 있도록 하였다. 비주얼 베이직은 마이크로소프트

에 의해 개발된 프로그래밍 언어로 그래픽 프로그래밍 환경을 제공하는 최초의 프로

그램이다. 프로그래머는 상세한 프로그램 문법에 신경을 쓸 필요 없이 대화상자나 버

튼을 클릭함으로써 원하는 작업을 수행할 수 있다.

특징

ASP는 비주얼 베이직의 문법을 많이 사용할 수 있게 한 서버 스크립트 언어이

다. 문법이 비주얼 베이직과 유사하여 많은 객체형 모듈들을 제공하기 때문에

코딩이 쉽고 빨라 프로그램을 빨리 작성할 수 있고, CGI와는 달리 매번 독립적

으로 프로세스를 생성하여 처리하는 것이 아니라 Thred를 이용하여 사용자를

받아들이기 때문에 서버에 부하를 주지 않는 장점이 있다.

하지만 ASP는 특정 플랫폼(윈도우 계열 ; 윈도우 9x, 윈도우 NT, 윈도우 2000)

에서만 구동할 수 있기 때문에 소스의 이식성에 제한을 받는다.

▶ ASP 코드 중 <% 와 %>로 묶인 부분이 있는데 <%와 %> 사이에 있

는 스크립트가 서버에서 실행된다.

▶ ASP는 클라이언트의 요청을 받아 스크립트를 처리할 경우 독자적으로

프로세스를 형성해 처리하는 것이 아니라 Thred를 이용해 사용자를 받아

들이기 때문에 서버에 부하를 주지 않는다.

▶ ASP는 스크립트 코드가 서버 컴퓨터에서 해석되고 실행될 수 있게 함

으로써, 스크립트 코드의 해석과 실행을 클라이언트와 서버 사이에 적절히

배분할 수 있는 기반을 마련해 준다.

ASP의 동작 순서

▼ 웹 브라우저가 웹 서버의 스크립트를 요청한다.

▼ 웹 서버는 입력과 출력 객체인 Request와 Response 객체를 통해 스크

립트를 얻고 이를 스크립트 번역자에게 전달한다.

▼ 스크립트 번역자는 스크립트 파일을 가져온다.

▼ 요청된 스크립트는 서버 컴포넌트로 HTML 템플릿이나 데이터서비스를

요청할 수 있다.

▼ Active X 서버 컴포넌트는 관련된 정보를 스크립트 번역자에게 전달한

다,

▼ 생성된 정보를 스크립트 번역자는 웹 서버에게 전달한다.

Page 6: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

6-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

▼ 이때 ASP로 요청했던 결과는 HTML 형식으로 바뀌어 전달하게 된다.

▼ 웹 서버는 생성된 정보를 웹 브라우저에게 전송한다.

ASP의 기본 문법

1. ASP는 스크립트 언어이기 때문에 소스가 HTML 소스와 섞여서 사용될 수 있

다. 따라서 HTML과 구분해 줄 구분자(Delimiter)가 필요하다.

→ <% 와 %> 사이에 ASP 소스를 사용.

2. 1의 구분자 안에 비주얼 베이직 문법과 유사한 비주얼 베이직 스크립트 언

어를 사용한다.

3. 파라미터를 전달 받는다거나 데이터베이스, 파일을 사용할 때, 또는 페이지를

만들고자 할 때 ASP에서 지원하는 객체들을 통해 간편하게 접근할 수 있다

(Request객체, Server객체, Response객체 등).

ASP를 시작하기 위한 운영체제와 편집기

운영체제

ASP는 마이크로소프트에서 나온 제품이기 때문에 마이크로소프트의 운영체제를

필요로 한다. ASP를 제대로 작동시키려면 윈도우 NT 기반의 IIS(Internet

Information Server) 서버가 필요하지만, 기존의 윈도우 9x 버전을 사용하는 개

인 사용자들을 위해 PWS(Personal Web Server)를 무료로 제공하고 있다. 윈도

우 95의 경우는 웹사이트에서 무료로 다운로드할 수 있으며, 윈도우 98의 경우

웹사이트에서 다운로드 하거나 CD 안에 포함되어 있다.

편집기

굳이 ASP 프로그래밍을 위한 편집기를 따로 사용할 필요는 없으며, HTML 편집

기로 사용하는 나모 웹에디터, 프론트페이지, 드림위버를 사용해도 되고 그냥

문서편집기를 사용해도 된다. 아니면 비주얼 스튜디오 6.0에 있는 인터데브

(InterDev)를 사용해도 된다. 그러나 이는 초보자들이 사용하기에는 조금 복잡한

툴이다.

ASP 프로그램은 확장자만 .asp(ASP)로 지정하면 웹서버(IIS)는 이를 ASP 프로

그램으로 인식하고 실행한 후 클라이언트의 브라우저에 보낸다.

ASP의 서버 객체

ASP의 객체는 상당히 많지만 그 중 중요한 것만 정리해 소개하면 다음과 같

다.

▶ Request 객체 : 사용자로부터 정보를 전달 받는 객체

▶ Response 객체 : 사용자의 브라우저에 결과물을 보여주는 객체

▶ Application 객체 : 전역변수의 내용을 정의하는 객체

▶ ADO객체 : ADO 객체는 OLE DB를 활용하여 여러 가지 기존의 데이터

베이스는 물론 엑셀 등 스프레드시트파일, 텍스트 파일 등 확장된 범위의

Page 7: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

7-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

데이터를 활용하도록 고안 된 객체

▶ Connection 객체 : 데이터베이스의 연결에 사용, 연결할 서버와 데이

터베이스를 결정하며, 연결뿐 아니라 명령을 실행하고 결과값을 가져와서

볼 수도 있음

▶ Command 객체 : 데이터베이스에 연결 후 SQL문이나 명령을 실행할

때 사용

▶ Recordset 객체 : 데이터베이스에 연결, 명령 수행 후 결과 값을 받아

올 때 사용

참고. ODBC/OLE DB/ADO

ODBC(Open Database Connectivity)

SQL문을 통한 일반데이터베이스에 중점을 두어 개발되었다.

OLE DB

OLE DB는 일반 데이터베이스 뿐만 아니라 텍스트, 스프레이 시트

등의 다양한 자료에 대한 제공자를 사용할 수 있도록 개발되었다.

ADO(ActiveX Data Object)

위의 OLE DB를 사용하여 데이터베이스를 참조하고 제어하고자 하는

경우 사용한다.

5. PHP(Power Hypertext Preprocessor)

PHP와 MySQL은 조그만 웹게시판에서 부터 대형 웹쇼핑몰에 이르기까지 응용분야도

다양하고 수행속도나 기능에서도 여느 상용 스크립트나 데이터베이스 비해 손색이 없

다. 이렇게 많이 쓰이게 되는 배경에는 이들 두 소프트웨어가 모두 좋기도 하지만 무

엇보다 공짜라는 이유가 가장 크다고 할 수 있다.

PHP는 레드햇 리눅스를 비롯한 많은 웹서버에서 표준이 되었다. PHP는 CGI 프로그

램들이 수행하는 모든 일들을 처리 할 수 있지만, PHP의 다양한 기능의 구현은 다양

한 종류의 데이터베이스와 어떻게 연계, 공존하느냐에 달려있다. 또한 PHP는 서버에

서 실행되므로 클라이언트는 PHP 코드를 볼 수 없다는 특징을 가지고 있다.

PHP 개요

PHP는 HTML 안에서 동작할 수 있도록 설계된 전문 스크립트 언어이며, 서버쪽

에서 실행되는 SSI 언어이다. C와 자바, Perl 등 익숙한 개발 언어로부터 많은

문장 형식을 빌려 쓰면서도 문법과 형식이 매우 쉽고 간결하게 구성되어 웹 개

발자들이 동적인 웹 문서를 빠르고 쉽게 작성할 수 있도록 도와준다.

PHP가 가지는 강력한 기능 가운데 하나는 바로 다양한 데이터베이스와 연동하

는 기능이다. 강력하고 유연한 데이터베이스 함수를 이용하면 간단한 코드만으

로 동적인 웹 페이지를 쉽게 만들 수 있다.

PHP(Power Hypertext Preprocessor)

Page 8: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

8-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

PHP 특징

1. 작성하기 쉽고 빨리 개발할 수 있다.

→ 컴파일 과정이 필요 없고 결과를 바로 볼 수 있음

2. 프로그램을 공짜로 제공받을 수 있다.

→ 소프트웨어를 PHP 홈페이지에서 다운로드해 설치할 수 있고, 또 많은 PHP

자료를 인터넷에서 볼 수 있음

3. 운영 플랫폼에 독립적이다.

→ ASP가 NT의 IIS라는 웹서버에서만 동작한다면 PHP는 유닉스, 윈도우 NT,

매킨토시, 리눅스 등 기종과 상관없이 동작 가능

4. 다양한 운영체제에서 작동한다.

5. CGI 프로그램의 모든 기능 구현 가능하다.

→ Form 데이터를 가져오고, 동적인 웹, 쿠키 등을 다양하게 지원

6. 강력한 데이터베이스 지원 기능을 포함한다.

→ PHP는 데이터베이스의 데이터 처리를 놀랍도록 간단히 만들 수 있게 하고,

오라클, Sybase 등 상용데이터베이스 뿐 아니라 SQL등 14개의 주요 데이터베

이스에 대한 연동을 지원

참고. 현재 PHP가 다룰 수 있는 데이터베이스 목록

PHP 기본문법

PHP 구문은 HTML을 보조하는 스크립트 언어로서 HTML 문서 내에 삽입되어

작성된다. 이 때문에 기존 HTML 문서와 구분할 수 있는 구분자가 있어야 되는

데 PHP 스크립트에서는 특별한 기호를 포함하는 세 가지 방법을 사용하고 있다.

Page 9: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

9-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

PHP의 구현

PHP는 다른 웹 개발 언어들이 할 수 있는 모든 CGI 기능을 지원한다. HTML로

부터 form data를 가져오고, 동적인 웹페이지를 만들거나, Cookie를 보내고 받

을 수도 있다. 앞서 말한 것처럼 다양한 데이터베이스를 지원하며 IMAP나

SNMP, NNTP, POP3, 심지어는 raw network 소켓을 사용하여, 그 밖의 프로토

콜들을 사용할 수도 있다. Apache 모듈로 PHP를 사용하여 HTTP 인증 기능을

사용할 수도 있다.

▪ client authentication을 사용하여 그 입력된 값을 출력하는 예

<?php

if(!$PHP_AUTH_USER) {

Header("WWW-authenticate: basic realm=\"My Realm\"");

Header("HTTP/1.0 401 Unauthorized");

echo "Text to send if user hits Cancel button\n"

exit;

} else {

echo "Hello $PHP_AUTH_USER.<P>";

echo "You entered $PHP_AUTH_PW as your password.<P>";

}

?>

6. 자바 스크립트

자바 스크립트는 넷스케이프사와 썬마이크로 시스템즈사에 의해 공동으로 개발되어

넷스케이프사의 웹브라우저인 네비게이터 또는 인터넷 익스플로러 상에서 사용할 수

있는 스크립트 언어로 인터프리터 방식이다. 자바 스크립트는 일반적으로 웹 브라우

저 안에서 객체를 제어하기 위하여 사용되며, HTML로 작성되는 문서 안에 직접 삽입

되는 구조를 가지고 있다. 따라서 웹 페이지에서 호출되어 실행되는 자바 애플릿

(Java Applet)과는 다른 구조를 지니고 있다.

Page 10: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

10-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

▪ HTML 문서 안에 삽입해 웹문서에 특수한 기능을 사용할 수 있게 한다.

▪ 넷스케이프의 라이프 스크립트 언어를 기반으로 자바 언어의 특성과 장점을

결합한 형태로 확장 시킨 스크립트 언어이다.

▪ 객체 스크립트 언어로 프로그램 코드가 HTML 문서 사이에 직접 들어가게 되

는데, 자바 스크립트로 만든 프로그램에서는 사용자가 마우스를 클릭하거나 키

보드로 입력하는 것과 같은 작업을 즉시 처리할 수 있다.

자바 스크립트와 자바의 차이점

자바는 하나의 프로그램 언어로 정해진 코드로 작성된 프로그램을 컴

파일해서 하나의 자바파일을 만들게 되며, 자바 스크립트는 스크립트만으로

HTML 내에서 즉시 사용되고, 그 코드도 자바보다 훨씬 간단하여 전문적인 프로

그램 지식이 없어도 쉽게 익혀서 사용할 수 있다. 또한 자바 스크립트는 자바보

다 훨씬 간편하고 편리해진 형태이긴 하지만 그 모태는 자바에서 왔기 때문에

자바의 기본적인 문법구조를 그대로 사용하고 있다.

자바 스크립트의 특징

▶ 별도로 컴파일 과정을 거치지 않기 때문에 브라우저에서 실행될 때 그 코드

가 해석된다. 속도면에서 조금 떨어지지만 사용하기는 아주 편리하다.

▶ 자바처럼 타입 체크를 철저하게 하지 않는다. 웬만한 에러를 브라우저에서

융통성 있게 처리해 주므로 작성하기에 편리하다.

▶ 자바처럼 철저한 타입 체크를 하지 않는 대신 클래스를 정의하거나 상속할

수 없고 객체를 정의하여 사용할 수 있도록 되어 있다.

1. 프로그래밍 언어의 종류

C

C언어는 1970년대 AT&Bell 연구소의 Ritchie에 의해 개발되었다. 원래는 시스

템 프로그래밍을 위한 목적으로 디자인되었다(기계어로 된 UNIX 시스템을 고급

언어로 다시 프로그램할 목적으로 사용되었다).

메모리 내에서 데이터가 어디에 저장되는지(POINTER) 등의 저급언어의 특성과

프로그래밍의 용이성 등 고급언어의 특성을 두루 살려 프로그램의 효율성을 높

인 것이 특징이다,

C++

C++는 객체지향 프로그래밍 개발 4대 지주(캡슐화, 자료은닉, 상속성, 다형성)

를 포함한 완벽한 객체지향 언어이다.

2) 프로그래밍 언어

Page 11: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

11-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

JAVA

자바 프로그래밍 언어는 미국의 썬마이크로 시스템사에서 만든 객체 지향 프로

그래밍 언어의 일종이다. 원래 자바는 가전제품에 사용하려고 만든 프로그래밍

언어로 이를 위해 처음 사용한 것은 기존의 C++언어였다. 하지만 C++을 사용

하기에는 여러 가지 문제점들이 있다는 것을 알고 이를 개선하여 만든 것이 자

바이다.

자바의 주요개념 (객체지향 개념 요소들 )

◈ 객체(Object)

객체지향 프로그래밍에서 객체는, 프로그램 설계 단계에서 최초로 생각해

야 할 것으로서, 결국 프로세스에서 유도된 코드 단위들이다. 중간에, 각

객체는 일반화된 객체 클래스로 만들어지고 더욱 일반화된 클래스가 정

의됨으로써, 객체가 모델을 공유하고 그코드에서 클래스 정의를 재사용할

수 있게 한다.

각각의 객체는 특정 클래스 또는 그 클래스의 자체 메쏘드나 프로시저

그리고 데이터 변수를 가지고 있는 서브클래스가 실제로 구현된 것, 즉 인

스턴스이다. 그러므로 객체는 실제로 컴퓨터 내에서 수행되는 것을 말한

다.

◈ 상속(Inheritance)

객체지향 프로그래밍에서, 상속은 하나의 클래스 객체가 정의되었을 때,

차후 정의되는 어떠한 부클래스라도 일반 클래스들의 정의 중에서 하나

또는 그 이상의 정의를 물려받을 수 있다는 개념이다. 프로그래머에게 있

어서 상속이란 개념은, 만약 그것이 부클래스가 속한 클래스의 포괄적인

속성이라면, 부클래스 내의 하나의 객체는 자기 자신만의 데이터 또는 메

쏘드에 관한 정의를 가지고 다닐 필요가 없다는 것을 의미한다. 이것은 프

로그램 개발속도를 높여줄 뿐 아니라, 정의된 부클래스 객체들에 대한 유

효성이 본래부터 확실하다는 것을 보장한다.

◈ 클래스(Class)

객체지향 프로그래밍(OOP)에서 클래스는 특정 종류의 객체내에 있는 변

수와 메쏘드를 정의하는 일종의 틀(template)이다. 따라서, 객체는 클래스

로 규정된 인스턴스로서, 변수 대신 실제값을 가진다. 클래스는 OOP를 정

의하는 개념 중 하나인데, 클래스에 대한 중요한 몇가지의 개념들은 다음

과 같다. 클래스는 전부 혹은 일부를 그 클래스 특성으로부터 상속받는 서

브클래스를 가질 수 있으며, 클래스는 각 서브클래스에 대해 수퍼클래스가

된다. 서브클래스는 자신만의 메쏘드와 변수를 정의할 수도 있다. 클래스

와 그 서브클래스 간의 구조를 "클래스 계층(hierarchy)"이라 한다.

Page 12: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

12-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

◈ 추상화(Abstract)

추상화란 객체와 프로시저들의 공통의 특질들을 골라내는 과정이다. 예를

들면, 프로그래머가 거의 같은 작업을 수행하는 두 개의 함수를 하나의 함

수로 합병할 수 있음을 나타내기 위해 추상화를 사용할 수 있다. 추상화는

소프트웨어 공학에서 가장 중요한 기법 중 하나로서, 두 개의 다른 기법인

캡슐화 및 정보은폐와 매우 밀접한 관련이 있다. 이 세 가지 기법은 복잡

성을 줄이기 위해 사용된다.

◈ 다형성(Polymorphism)

하나의 인터페이스를 이용하여 서로 다른 여러 개의 구현이 가능하도록

하는 방법이다.

* 인터페이스(Interface)

인터페이스 한다는 것은 다른 사람이나 객체와 의사소통 한다는 것

을 의미하는데, 특히 하드웨어 장비에 있어 인터페이스 한다는 것은,

두 장비가 효과적으로 교신하거나 함께 일할 수 있도록 적절한 물

리적인 연결을 확립하는 것을 의미한다.

2. 애플릿(Applet)

간단하게 서버에서 다운로드해 클라이언트 컴퓨터에서 실행할 수 있는 작은 프로그램

으로, 웹 서버상에 존재하고 네트워크를 이용해 클라이언트에서 실행되는 구조를 가

진 소프트웨어이다.

애플릿이란 작은 응용프로그램을 의미한다. 월드와이드웹이 나오기 이전에는, 마이크

로소프트 윈도우와 함께 기본으로 제공되던 작은 프로그램들, 예를 들어 메모장

(notepad.exe)이나 페인트(pbrush.exe) 등도 ‘애플릿’이라고 불린 적이 있었다. 웹 상

에서는 자바와 같은 객체 지향 프로그래밍 언어를 써서 웹 페이지와 함께 사용자측으

로 보내질 수 있도록 작게 만든 프로그램을 애플릿이라고 부른다.

자바 애플릿은 애니메이션이나, 간단한 계산 그리고 사용자가 서버에 별도의 요청을

하지 않고서도 수행할 수 있는 단순한 작업들을 수행할 수 있다.

사용예

<applet code="Bisop.class" width="273" height="95">

<param name="image_name" value="cover.gif">

<param name="image_name1" value="bok.gif">

</applet>

3. 서블릿(servlet)

서블릿은 서버에서 실행되는 작은 프로그램이다. 사용자의 입력에 따라 데이터베이스

와 연계되는 프로그램들은 서버에서 실행될 필요가 있다. 보통 이러한 것들은

CGI(Common Gateway Interface)를 이용하여 구현된다. 그러나, 서버에서 실행되는

Page 13: 22단원 CGI와 스크립트 및 프로그래밍 언어 „자상거래관리사/22단원.pdf · asp는 iis 4.0이 등장하면서 기능이 더욱 발전했다. 이 기능들은

13-13

전자상거래관리사 2급

22단원. CGI와 스크립트 및 프로그래밍 언어

www.estudy.or.kr

자바 가상 머신을 이용하면, 그러한 프로그램들을 자바 언어로 구현할 수 있다.

서버에 있는 자바 서블릿의 장점은 CGI 응용 프로그램보다 더 빠르게 실행될 수 있다

는 것이다. 서블릿은 각 사용자의 요청마다 별도의 프로세스가 생기는 대신, 단 하나

의 데몬 프로세스 내에서 스레드로 호출되는데, 이는 각 요구에 따른 시스템 오버헤

드가 적다는 것을 의미한다.

몇몇 추가적인 모듈들은 자바 서블릿들이 넷스케이프 Enterprise나, 마이크로소프트의

IIS 및 아파치 서버에서 실행될 수 있도록 해준다.

4. 비주얼 베이직

비주얼 베이직은 마이크로소프트에서 공급하고 있는 프로그램 개발 도구로서, 베이직

프로그래밍 언어로 미리 작성되어있는 코드를 그래픽 사용자 인터페이스 환경에서 손

쉽게 선택하여 사용하거나 수정할 수 있다.

비주얼 베이직은 배우기 쉽고 프로그램을 빠르게 작성할 수 있기 때문에, 가끔은 응

용프로그램의 프로토 타입을 작성하는데 사용되기도 하지만, 실제로 운영되는 프로그

램을 개발하는 데에도 광범위하게 사용되고 있다

프로그래머는 상세한 프로그램 문법에 신경을 쓸 필요 없이 대화상자나 버튼을 클릭

함으로써 원하는 작업을 수행할 수 있으며, 비주얼 베이직이 제공하는 이 비주얼 환

경은 점차 다른 프로그램 언어의 표준이 되어 가고 있는 추세이다.

5. Delphi

델파이는 Inprise의 개발된 클라이언트/서버 응용프로그램 개발도구이다.

델파이는 마이크로소프트의 비주얼베이직과 비슷하지만, 비주얼베이직이 BASIC 언어

에 기반을 두고 있는데 반해, 델파이는 파스칼 (Pascal)에 기반을 두고 있으며, 현재

버전 5까지 나와 있다.

Delphi는 분산된 엔터프라이즈 및 웹에서 운용 가능한 가장 종합적이고 시각적인, 고

성능의 Client/Sever 응용프로그램 개발툴이다.

Delphi에서 제공하는 다양한 도구는 리모트 서버 시스템, 그리고 랩탑 컴퓨터 및 웹

브라우저와 같은 다양하게 산재 되어 있는 시스템들의 구성에서 가벼운 클라이언트

응용프로그램 환경, 그리고 확장성과 유연성을 동시에 제공하게 된다.