컴퓨터활용능력1급

[컴퓨터활용능력1급 필기] 1과목 컴퓨터 일반: 프로그래밍 언어(심화), PC 유지와 보수

Dohwajee 2024. 11. 7. 19:35

1. 프로그래밍 언어(심화)

: 사용자 중심의 영문 형태에서 기계어로 변환하는 과정을 거친다.

 

1) 언어 번역 프로그램

 

① 컴파일러(Compiler)

: PL/1, COBOL, PASCAL, C언어 등 고급 언어를 기계어로 번역하고 목적 프로그램을 생성한다. 프로그램 전체를 한 번에 번역하므로 속도는 느리지만 목적 프로그램이 생성되므로 실행 속도는 빠르다.

*목적 프로그램: 중앙 처리 장치가 직접 이해하여 실행할 수 있는 프로그램. (출처: Oxford Languages)

② 어셈블러(Assembler)

: 어셈블리 언어를 기계어로 번역

③ 인터프리터(Interpreter)

: BASIC, LISP, APL, SNOBOL 등 대화식 언어로 작성된 프로그램을 필요할 때마다 매번 기계어로 번역하고 행 단위 번역을 수행한다. 목적 프로그램을 생성하지 않아 실행 속도는 느리다.

 

2) 프로그래밍 작성 기법 ★☆★☆★☆★☆★☆★☆★★☆★☆★☆★☆★☆★☆★

*Tip: 객체 지향 프로그래밍을 중심으로 다른 프로그래밍 기법의 특징을 선지에 섞어 "옳지 않은 것을 고르시오."와 같 문제가 출제될 수 있어 암기해 두세요! 아래 밑줄 친 객체 지향 언어의 특징을 암기해 두세요.

 

① 하향식 프로그래밍 기법

: 상에서 하위 모듈 순으로 작성해 나가는 기법으로 오류 수정이 어렵다.

 

② 구조적 프로그래밍 기법

: 하나의 입력과 출력을 하 순서, 선택적, 반복적인 세 가지 논리 구조를 사용한다. 블록 구조의 형태이며 기능별 서브루틴 작성이 가능하다.

 

 객체 지향 프로그래밍(Object-Oriented Programming) 기법

: 데이터 구조의 데이터형과 사용하는 함수까지 정의하는 프로그래밍 기법이며 C++, JAVA, Actor, SmallTalk 등이 있다. 공통적인 기능과 속성을 가진 객체를 클래스(Class)라고 하며 객체가 수행하는 실제 기능을 기술한 코드를 메서드(Method)라 한다. 메서드는 상속과 재사용이 가능하고 시스템 확장성이 높다. 객체의 고유 성질이나 속성을 프로퍼티(Property)라고 하며 객체 지향 언어의 대표적인 특성은 추상화(다형성-오버로딩), 캡슐화(정보 은폐), 계층성(상속성), 모듈성(재사용성)이 있다.

 

④ 비주얼 프로그래밍 기법

: Windows의 GUI(Graphic User Interface) 환경에서 아이콘과 마우스를 이용하여 대화 형식으로 효율적이고 쉽게 프로그래밍하는 기법이며 BASIC이 Visual BASIC, PASCAL이 Delphi, C++이 Visual C++, C sms Power Builder 등으로 발전되었다.

1) 웹 프로그래밍 언어 ★☆★☆★☆★☆★☆★☆★★☆★☆★☆★☆★☆★☆★

*Tip: 각 웹 프로그래밍 언어의 특징에 따른 언어 고르기 문제나 언어를 말해주고 특징에 대해 옳거나 옳지 않은 선지를 고르는 문제가 출제됩니다. 암기 필수!


① HTML

: 월드 와드 웹(WWW)의 홈페이지를 작성하는데 사용되는 언어이며 확장자는 *.htl, *htm이다.

 

② HTML5는 액티프X나 플로그린 등의 프로그램 설치 없이 동영상이나 음악을 재생할 수 있는 웹 표준 언어이다.

 

③ VRML(Virtual Realiy Modeling Language)

: 3차원 도형 데이터의 기술 언어로, 3차원 좌값이나 기하학적 데이터 등을 기술한 문서(Text) 파일의 서식(Format)이 정해져 있으며 작성된 가상 현실 모델링 언어(VRML) 파일을 월드 와이드 웹(WWW) 서버에 저장하여 입체적인 이미지를 갖는 3차원의 가상적 세계를 인터넷상에 구축하는 언어이다.

*Tip: 요즘 버츄얼 아이돌 등 가상 현실 모델링과 관련된 이슈가 있으니 기억해 두시고, ISO 등 프로그래밍 언어를 채택한 주체를 잘 알아두셔야 해요.

 

④ WML(Wireless Makrup Language)

: 무선 접속을 통해 휴대전나 PDA 등에 웹 페이지의 텍스트와 이미지 부분이 표시될 수 있도록 해주는 웹 프로그래밍 언어이다.

 

⑤ Per(Practical Extraction and Reporting Language)

: 1980년대 초반에 Lary Wall에 의해 개발된 인터프리터 언어이다. 사용하기 쉽고 크기가 작아 CGI 프로그램을 작성하는 데 널리 이용된다.

*CGI(Common Gateway Interface): 웹 서버에 있어 사용자의 요구를 응용 프로그램에 전달하고 그 결과를 사용자에게 되돌려주기 위한 표준적인 방법이며 카운터, 방명록, 게시판과 같이 방문자 상호 간의 정보를 주고받는 기능을 추가한다.

 

⑥ SGML(Standard Generalized Markup Language)

: 국제 표준화 기구(ISO)에서 1986년 국제 표준으로 채택한 문서 생성 언어이며, HTML의 바탕이 되었다. 컴퓨터 시스템이나 응용 프로그램과 독립적으로 문서나 파일을 교환할 수 있고 교환 시 문서가 수신 측에서도 자유롭게 편집할 수 있어 유용하게 재이용할 목적으로 개발된 언어이다.

⑦ 자바(JAVA)

: 미국의 선 마이크로시스템즈 사가 개발하였으며 C++을 바탕으로 언어 규격을 규정하였다. 멀티스레드를 지원하고 각 스레드는 독립적으로 서로 다른 일을 동시에 처리한다. 자바의 원시 코드를 고쳐 쓰거나 재컴파일할 필요가 없어 기종이나 운영체제와 무관하게 응용 프로그램의 개발 도구로 주받고 있다. 특정 컴퓨터 구조와 무관한 가상 바이트 머신 코드를 사용하므로 플랫폼이 독립적이다. 바이트 머신 코드를 생성한다.

 

⑧ 자바 스크립트

: 미국의 넷스케이프 커뮤니케이션즈 사가 개발하였으며 웹 브라우저에서 실행하는 스크립트 언어를 기술한다. 하이퍼텍스트 생성 언어(HTML) 문서를 작성하는 수준의 사용자가 사용한다는 것을 기준으로 자바의 언어 규격에서 변수의 형(정수 형, 문자열 형 등)을 생략하거나 새로운 클래스 정의를 할 수 없도록 한다. HTML 문서에 직접 기술하며 'Script'라는 꼬리표를 사용한다. 객체 지향 언어의 특성을 가지며 클라이언트의 웹 브라우저에서 인터프리트되므로 서버 데이터를 전송하기 전에 아이디나 비밀번호의 입력, 수량 입력 등의 작업 구현에 사용하는 언어로 적절하다.

 

⑨ 자바 애플릿

: 자바 언어로 작성된 작은 소프트웨어로 애플릿이라고도 한다. HTML 문서에 포함될 수 있는 자바 프로그램이며, 현재는 웹상의 대부분에 사용된다. 자바 애플릿은 사전에 컴파일하여 웹 서버에 등록해 두며, 웹에서 사용하는 표준 데이터 형식인 하이퍼텍스트 생성 언어(HTML)로 작성한 문서를 애플릿이라는 꼬리표를 써서 자바 애플릿을 지정한다.

 

⑩ XML(eXtensible Markup Language)

: 기존 HTML의 단점을 보완하여 문서의 구조적인 특성을 고려하여 문서를 상호 교환할 수 있도록 설계한 언어이며, HTML을 대체할 목적으로 월드 와이드 웹 컨소시엄이 표준화 작업을 진행하고 있는 페이지 기술 언어이다. HTML에서 사용하는 연결 기능 등의 기능을 확장함과 동시에 표준 범용 문서 생성 언어(SGML)를 인터넷으로 최적화한 것이다. HTML 및 SGML의 장점을 모두 가지고 있다. 인터넷뿐만 아니라 전자 출판, 의학, 경영, 법률, 판매 자동화, 디지털 도서관, 전자상거래 등에서 이용하고 있다. 사용자가 새로운 태그(마크업 언어에 사용되는 꺽쇠를 가지고 있는 명령)를 정의할 수 있다.

 

⑪ ASP(Active Server Page)

: Windows 환경에서 동적인 웹 페이지를 제작할 수 있는 스크립트 언어이다. HTML 문서에 명령어를 삽입하여 사용하며, 자바 스크립트와는 달리 서버 측에서 실행된다. 주로 VB Script를 사용해서 처리한다.

 

⑫ DHTML(Dynamic HTML)

: 동적 HTML로 스타일 시트를 도입하여 텍스트의 폰트와 크기, 색상, 여백 형식 등 웹 페이지 관련 속성을 지정할 수 있다.

 

2) 관련 용어

 

① 멀티스레드(Multi-Thread)

: 응용 프로그램 내에서 다중 작업을 처리하는 것을 말한다.

 

② 스레드

: 컴퓨터 프로그램 수행 시 프로세스 내부에 존재하는 수행 경로를 말한다.