본문 바로가기
License/정보처리기사_실기

151-160

by jaunnnngs21 2022. 3. 28.

SEC 151) 포인터(A)

* 포인터의 개요

- 앞에서 어떤 수나 문자를 저장하기 위해 변수를 사용함, 사실 이 변수는 기억장소의 어느 위치에 대한 이름이며 그 위치는 주소로도 표현할 수 있음. C언어에서 변수의 주소를 포인터라고 하고, 포인터를 저장할 수 있는 변수를 포인터 변수라고 함. 변수의 주소인 포인터는 출력할 수도 있고 포인터가 가리키는 곳에 값을 저장하거나 읽어 오는 등 다양한 조작이 가능함. 이런 기능 때문에 C언어는 주소를 제어할 수 있는 기능이 있다고 말함

 

SEC 152) 사용자 정의 함수(A)

* 사용자 정의 함수 개요

- 말그대로 사용자가 직접 만들어 사용하는 함수

 

SEC 153) Java의 클래스(A)

* Java 클래스의 개요

- 클래스는 객체 생성을 위한 필드(속성)와 메소드(함수)를 정의하는 설계도로, Java는 아무리 작은 프로그램이라도 클래스를 만들어서 사용해야함

* 클래스 만들어 사용하는 순서

1) 클래스 이름을 정하고 객체 생성을 위한 필드와 메소드를 정의함. 자동차를 만들기 위한 설계도

2) 객체를 생성. 자동차 설계도로 자동차를 만들어야 사용할 수 있듯이 클래스를 이용해 객체를 생성해야 프로그램에서 사용할 수 있음. 사용하는 명령이 new

3) 생성된 객체들을 이용해 프로그램 코딩하기.

 

SEC 154) Java의 활용(A)

* 추상클래스와 형 변환의 개요

- 추상메소드는 자식 클래스에서 재정의해야만 사용할 수 있는 메소드를 의미, 이런 메소드를 하나 이상 포함하는 클래스를 추상클래스라고 함. 그리고 이렇게 재정의한 메소드를 부모 클래스의 객체 변수를 통해 사용하려면 부모 클래스의 객체 변수를 선언할 때 자식 클래스의 생성자를 이용해야함, 이를 클래스의 형 변환.

 

SEC 155) Python의 개요

- Python은 객체지향 기능을 지원하는 스크립트 언어로, 다른 언어에 비해 문법이 간단하다는 장점이 있음.

>> PythonC, Java와 비교했을 때 기본 작성법의 차이점은 다음과 같음

- 변수의 자료형에 대한 선언이 없음.

- 문자와 문자열을 작은따옴표(‘’), 큰따옴표(“”)로 구분 없이 사용할 수 있으며, 3개의 작은따옴표(‘‘‘ ’’’), 3개의 큰따옴표(“““ ”””)로 묶어 표현할 수 있음.

- 문장의 끝을 의미하는 세미클론(;)을 사용할 필요가 없음.

- iffor와 같이 코드 블록을 포함하는 명령문을 작성할 때 중괄호({ })나 대신 콜론(:)과 여백으로 구분.

 

SEC 156) 절차적 프로그래밍 언어(C)

* 절차적 프로그래밍 언어

- 절차적 프로그래밍 언어는 일련의 처리 절차를 정해진 무넙에 따라 순서대로 기술하는 언어

- 프로그램이 실행되는 절차를 중요시함.

- 데이터를 중심으로 프로시저를 구현하며, 프로그램 전체가 유기적으로 연결되어 있음

- 자연어에 가까운 단어와 문장으로 구성됨

- 과학 계산이나 하드웨어 제어에 주로 사용됨.

 

* 절차적 프로그래밍 언어의 종류

언어 특징
C - 1972년 미국 벨 연구소의 데니스 리치에 의해 개발됨
- 시스템 프로그래밍 언어로 널리 사용됨
- 고급 프로그래밍 언어이면서 저급 프로그램 언어의 특징을 모두 갖춤
- 이식성이 좋아 컴퓨터 기종에 관계없이 프로그램을 작성할 수 있음
ALGOL - 수치 계산이나 논리 연산을 위한 과학 기술 계산용 언어
- PASCALC 언어의 모체가 됨
COBOL - 사무 처리용 언어
- 영어 문장 형식으로 구성되어 있어 이해와 사용이 쉬움
- 4개의 DIVISION으로 구성됨
FORTRAN - 과학 기술 계산용 언어
- 수학과 공학 분야의 공식이나 수식과 같은 형태로 프로그래밍 할 수 있음

 

SEC 157) 객체지향 프로그래밍 언어(C)

* 객체지향 프로그래밍 언어

- 객체지향 프로그래밍 언어는 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어, 기계의 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때도 객체들을 조립해서 프로그램을 작성하는 기법.

- 프로시저보다는 명령과 데이터로 구성된 객체를 중심으로 하는 프로그래밍 기법.

- 한 프로그램을 다른 프로그램에서 이용할 수 있도록 함.

 

* 객체지향 프로그래밍 언어의 종류

언어 특징
JAVA - 분산 네트워크 환경에 적용이 가능함
- 멀티스레드 기능을 제공하므로 여러 작업을 동시에 처리할 수 있음
- 운영체제 및 하드웨어에 독립적이며, 이식성이 강함
C++ - C언어에 객체지향 개념을 적용한 언어임
- 모든 문제를 객체로 모델링하여 표현함
Smalltalk - 1세대 객체지향 프로그래밍 언어로, 순수한 객체지향 프로그래밍 언어임
- 최초로 GUI를 제공함

 

SEC 158) 스크립트 언어(C)

* 스크립트 언어(Script Language)

- 스크립트 언어는 HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 언어

- 기계어로 컴파일되지 않고 별도의 번역기가 소스를 분석해 동작

- 게시판 입력, 상품 검색, 회원 가입 등과 같은 데이터베이스 처리 작업을 수행하기 위해 주로 사용함

 

>> 스크립트 언어의 분류

분류 내용
서버용 스크립트 언어 - 서버에서 해석되어 실행된 후 결과만 클라이언트로 보냄
- 종류: ASP, JSP, PHP, 파이썬
클라이언트용 스크립트 언어 - 클라이언트의 웹 브라우저에서 해석되어 실행됨
- 종류: 자바 스크립트(JAVA Script), VB 스크립트(Visual Basic Script)

 

필기 20.8, 20.6

* 스크립트 언어의 종류

언어 특징
자바 스크립트
(JAVA Script)
- 웹 페이지의 동작을 제어하는데 사용되는 클라이언트용 스크립트 언어
- 클래스가 존재하지 않으며 변수 선언도 필요 없음
- 서버에서 데이터를 전송할 때 아이디, 비밀번호, 수량 등의 입력 사항을 확인하기 위한 용도로 많이 사용됨
VB 스크립트
(Visual Basic Script)
- 마이크로소프트 사에서 자바 스크립트에 대응하기 위해 제작한 언어
- Active X를 사용하여 마이크로소프트 사의 애플리케이션들을 컨트롤할 수 있음
ASP(Active Server Page) - 서버 측에서 동적으로 수행되는 페이지를 만들기 위한 언어
- 마이크로소프트 사에서 제작하였음
- Windows 계열에서만 수행 가능함
JSP(Java Server Page) - JAVA로 만들어진 서버용 스크립트 언어
- 다양한 운영체제에서 사용 가능함
필기 20.6
PHP(Professional Hypertext Preprocessor)
- Linux, Unix, Windows 운영체제에서 사용 가능한 서버용 스크립트 언어
- C, Java 등과 문법이 유사하므로 배우기 쉬워 웹 페이지 제작에 많이 사용됨
필기 20.6
파이썬(Python)
- 객체지향 기능을 지원하는 대화형 인터프리터 언어
- 플랫폼에 독립적이고 문법이 간단하여 배우기 쉬움
필기 20.8
쉘 스크립트
- 유닉스/리눅스 계역의 쉘(Shell)에서 사용되는 명령어들의 조합으로 구성된 스크립트 언어
- 쉘 스크립트에서 사용되는 제어문(선택형:if,case/반복형:for,while,until)
필기 20.6
Basic
- 절차지향 기능을 지원하는 대화형 인터프리터 언어
- 초보자도 쉽게 사용할 수 있는 문법 구조를 가짐

 

SEC 159) 선언형 언어(C)

* 선언형 언어

- 선언형 언어는 프로그램이 수행해야 할 문제를 기술하는 언어

- 목표를 명시하고 알고리즘은 명시하지 않음

>> 선언형 언어의 분류

분류 내용
함수형 언어 - 수학적 함수를 조합하여 문제를 해결하는 언어
- 알려진 값을 함수에 적용하는 것을 기반으로 함
- 재귀호출이 자주 이용됨
- 종류: LISP
논리형 언어 - 기호 논리학에 기반을 둔 언어
- 논리 문장을 이용해 프로그램을 표현하고 rPts을 수행함
- 반복문이나 선택문을 사용하지 않음
- 종류: PROLOG

 

* 명령형 언어

- 명령형 언어는 문제를 해결하기 위한 방법을 기술하는 언어

- 순차적인 명령 수행을 기본으로 함

- 폰노이만 구조에 개념적인 기초를 두고있음

- 명령형 언어에는 절차적 언어와 객체지향 언어가 있음

- 종류: FORTRAN, COBOL, C, Java

 

* 선언형 언어의 종류

언어 특징
HTML - 인터넷의 표준 문서인 하이퍼텍스트 문서를 만들기 위해 사용하는 언어
- 특별한 데이터 타입이 없는 단순한 텍스트이므로 호환성이 좋고 사용이 편리함
LISP - 인공지능 분야에 사용되는 언어
- 기본 자료 구조가 연결 리스트 구조임
- 재귀(Recursion) 호출을 많이 사용함
PROLOG - 논리학을 기초로 한 고급 언어
- 인공 지능 분야에서의 논리적인 추론이나 리스트 처리 등에 주로 사용됨
XML - 기존 HTML의 단점을 보완하여 웹에서 구조화된 폭넓고 다양한 문서들을 상호 교환할 수 있도록 설계된 언어
- HTML에 사용자가 새로운 태그(Tag)를 정의할 수 있음
- 문서의 내용과 이를 표현하는 방식이 독립적임
Haskell - 함수형 프로그래밍 언어로 부작용(Side Effect)이 없음
- 코드가 간결하고 에러 발생 가능성이 낮음

 

SEC 160) 라이브러리(C)

* 라이브러리

- 라이브러리는 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체

- 자주 사용하는 함수들의 반복적인 코드 작성을 피하기 위해 미리 만들어 놓은 것이며, 필요할 때는 언제든지 호출하여 사용할 수 있음

>> 라이브러리의 분류

분류 내용
표준 라이브러리 - 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리
- 여러 종류의 모듈이나 패키지 형태임
외부 라이브러리 - 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 라이브러리
- 외부 라이브러리를 다운받아 설치한 후 사용함

 

* C언어의 대표적인 표준 라이브러리

- C언어는 라이브러리를 헤더 파일로 제공함.

- C언어에서 헤더 파일을 사용하려면 ‘#include <stdio.h>’와 같이 include문을 이용해 선언한 후 사용해야함.

헤더 파일 기능
stdio.h - 데이터의 입.출력에 사용되는 기능들을 제공함
- 주요 함수: printf, scanf, fprintf, fscanf, fclose, fopen
math.h - 수학 함수들을 제공함
- 주요 함수: sqrt, pow, abs
string.h - 문자열 처리에 사용되는 기능들을 제공함
- 주요 함수: strlen, strcpy, strcmp
stdlib.h - 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공함
- 주요 함수: atoi, atof, srand, rand, malloc, free
time.h - 시간 처리에 사용되는 기능들을 제공함
- 주요 함수: time, clock

 

* Java의 대표적인 표준 라이브러리

- Java는 라이브러리를 패키지에 포함해 제공함

- Java에서 패지를 사용하려면 ‘import java.util’과 같이 import문을 이용해 선언한 후 사용해야함.

 

'License > 정보처리기사_실기' 카테고리의 다른 글

정처기 실기 예제(8장)_추후 업데이트 할 예정  (0) 2022.03.29
161-170  (0) 2022.03.28
141-150  (0) 2022.03.25
131-140  (0) 2022.03.23
121-130  (0) 2022.03.23