관리 메뉴

SW

[2020 정보처리기사 필기] 프로그래밍 언어 활용 (2) 본문

대학교/자격증

[2020 정보처리기사 필기] 프로그래밍 언어 활용 (2)

SWKo 2020. 8. 12. 01:21

131. 배열과 문자열

1. 배열의 개념

- 배열은 동일한 데이터 유형여러 개 사용해야 할 경우 이를 손쉽게 처리하기 위해 여러 개의 변수들을 조합해서 하나의 이름으로 정의해서 사용하는 것

- 개별적인 요소들의 위치는 첨자를 이용하여 지정한다.

- 배열은 변수명 뒤에 대괄호 []를 붙이고 그 안에 사용할 개수를 지정한다.

- C언어에서 배열의 위치는 0부터 시작된다.

- C언어에서 배열 위치를 나타내는 첨자없이 배열 이름을 사용하면 배열의 첫 번째 요소의 주소를 지정하는 것과 같다.

 

2. 1차원 배열

- 1차원 배열은 변수들을 일직선상의 개념으로 조합한 배열이다.

 

3. 2차원 배열

- 2차원 배열은 변수들을 평면, 즉 행과 열로 조합한 배열이다.

 

4. 배열의 초기화

- 배열 선언 시 초기값을 지정할 수 있다.

- 배열의 크기를 생략하는 경우에는 반드시 초기값을 지정해야 초기값을 지정한 개수 만큼의 배열이 선언된다.

- 2차원 배열의 초기화 2가지 방법 : (1) {{1,2,3,4},{2,3,4,5}}    (2) {1,2,3,4,2,3,4,5}

 

5. 배열 형태의 문자열 변수

- C언어에서는 큰따옴표("")로 묶인 글자는 글자 수에 관계없이 문자열로 처리된다.

- C언어에는 문자열을 저장하는 자료형이 없기 때문에 배열, 또는 포인터이용하여 처리한다.

- char 배열이름[크기] = "문자열"

- 배열에 문자열을 저장하면 문자열의 끝을 알리기 위한 널 문자('\0')가 문자열 끝에 자동으로 삽입된다.

 

핵심

- 문자열은 배열, 또는 포인터를 이용하여 처리


132. 포인터

1. 포인터와 포인터 변수

- 포인터는 변수의 주소를 말하며, C언어에서는 주소를 제어할 수 있는 기능을 제공한다.

- C언어에서 변수의 주소를 저장할 때 사용하는 변수 포인터 변수라고 한다.

- 포인터 변수를 선언할 때는 자료형을 먼저 쓰고 변수명 앞에 간접 연산자 *를 붙인다. int *a

- 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &를 붙인다. a = &b

- 실행문에서 포인터 변수에 간접 연산자 *를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말한다.

- 포인터 변수는 필요에 의해 동적으로 할당되는 메모리 영역인 힙 영역에 접근하는 동적 변수이다.

- 객체를 참조하기 위해 주소를 값으로 하는 형식

- 커다란 배열에 원소를 효율적으로 저장하고자 할 때 이용

- 하나의 자료에 동시에 많은 리스트의 연결이 가능

 

2. 포인터와 배열

- 배열을 포인터 변수에 저장한 후 포인터를 이용해 배열의 요소에 접근할 수 있다.

- 배열 위치를 나타내는 첨자를 생략하고 배열의 대표명만 지정하면 배열의 첫 번째 요소의 주소를 지정하는 것과 같다.

- 배열 요소에 대한 주소를 지정할 때는 일반 변수와 동일하게 & 연산자를 사용한다.

 

핵심

- 포인터는 변수의 주소

- int *a, a = &b

- 포인터를 이용해 배열의 요소에 접근 가능


133. 절차적 프로그래밍 언어

1. 절차적 프로그래밍 언어의 개요

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

- 절차적 프로그래밍 언어는 데이터를 중심으로 프로시저를 구현하며, 프로그램 전체가 유기적으로 연결되어 있다.

- 자연어와 가까운 단어와 문장으로 구성된다.

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

 

2. 절차적 프로그래밍의 장단점

- 빠르다

- 같은 코드 복사하지 않고 다른 위치에서 호출하여 사용 가능

- 모듈 구성이 용이하며, 구조적 프로그래밍 가능

- 프로그램 분석이 어려움

- 유지 보수나 코드의 수정이 어려움

 

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

- C : 시스템 프로그래밍 언어, 고급 프로그래밍 언어이면서 저급 프로그램 언어의 특징을 모두 갖춤, 컴파일러 방식의 언어

- ALGOL : 수치 계산이나 논리 연산을 위한 과학 기술 계산용 언어

- COBOL : 사무 처리용 언어

- FORTRAN : 과학 기술 계산용 언어

 

핵심

- C는 시스템프로그래밍에 가장 적합한 언어이다.


134. 객체지향 프로그래밍 언어

1. 객체지향 프로그래밍 언어의 개요

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

- 프로시저보다는 명령과 데이터로 구성된 객체를 중심으로 하는 프로그래밍 기법으로, 한 프로그램을 다른 프로그램에서 이용할 수 있도록 한다.

 

2. 객체지향 프로그래밍 언어의 장단점

 -상속을 통한 재사용과 시스템의 확장이 용이하다.

- 코드의 재활용성이 높다.

- 자연적인 모델링에 의해 분석과 설계를 쉽고 효율적으로 할 수 있다.

- 사용자와 개발자 사이의 이해를 쉽게 해준다.

- 대형 프로그램의 작성이 용이하다.

- 소프트웨어 개발 및 유지보수가 용이하다.

- 프로그래밍 구현을 지원해 주는 정형화된 분석 및 설계 방법이 없다.

- 구현 시 처리 시간이 지연된다.

 

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

- JAVA : 분산 네트워크 환경에 적용이 가능하며, 멀티스레드 기능을 제공하므로 여러 작업을 동시에 처리가능, 캡슐화, 재사용성 높음

- C++ : C 언어에 객체지향 개념을 적용한 언어

- Smalltalk : 1세대 객체지향 프로그래밍 언어, 최초로 GUI를 제공

 

4. 객체지향 프로그래밍 언어의 구성 요소

- 객체 : 데이터와 메소드를 결합시킨 실체, 속성은 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위 별로 정의하는 것으로서 성질, 분류, 식별, 수량 또는 현재 상태 등으로 표현, 메소드는 객체가 메시지를 받아 실행해야 할 때 구체적인 연산을 정의하는 것

- 클래스 : 두 개 이상의 유사한 객체들을 묶어하나의 공통된 특성을 표현하는 요소, 객체의 집합

- 메시지 : 객체의 메소드를 일으키는 외부의 요구 사항

 

5. 객체지향 프로그래밍 언어의 특징

- 캡슐화 : 데이터와 함수를 하나로 묶는 것, 재사용 용이

- 정보 은닉 : 캡슐화에서 가장 중요한 개념, 자신의 정보를 숨기고 자신의 연산만을 통하여 접근

- 추상화 : 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화하는 것, 즉 모델화 하는 것

- 상속성 : 이미 정의된 상위클래스의 모든 속성을 하위 클래스가 물려받는 것

- 다형성 : 메시지에 의해 객체가 연산을 수행하게 될 때 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 의미

 

핵심

- 메소드 : 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산

- 추상화 : 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화 시킨 것

- 클래스 : 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것으로 데이터 추상화의 개념

- 객체지향 기법은 객체를 만들어 객체를 근간으로 프로그램을 구현한다.


135. 스크립트 언어

1. 스크립트 언어(Script Language)의 개요

- 스크립트 언어는 HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것으로, 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작하게 하는 언어이다.

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

- 스크립트 언어는 클라이언트의 웹 브라우저에서 해석되어 실행되는 클라이언트용 스크립트 언어와 서버에서 해석되어 실행된 후 결과만 클라이언트로 보내는 서버용 스크립트 언어가 있다.

- 서버용 스크립트 언어 : ASP, JSP, PHP, 파이썬

- 클라이언트용 스크립트 언어 : JavaScript

 

2. 스크립트 언어의 장단점

- 컴파일 없이 바로 실행하므로 결과를 바로 확인할 수 있다.

- 개발 시간이 짧다.

- 실행 속도가 느리고 런타임 오류가 많이 발생한다.

 

3. 스크립트 언어의 종류

- JavaScript : 웹페이지의 동작을 제어하는 데 사용되는 클라이언트용 스크립트 언어로, 클래스가 존재하지 않으며 변수 선언도 필요 없다.

- ASP : 서버 측에서 동적으로 수행되는 페이지를 만들기 위한 언어, Windows계열에서만 수행 가능한 프로그래밍 언어이다.

- JSP : JAVA로 만들어진 서버용 스크립트로, 다양한 운영체제에서 사용 가능

- PHP : 서버용 스크립트 언어로, Linux, Unix, Windows 운영체제에서 가능하다, C, Java 등과 문법이 유사하므로 배우기 쉬워 웹 페이지 제작에 많이 사용된다.

- Python : 객체지향 기능을 지원하는 대화형 인터프리터 언어로, 플랫폼에 독립적이고 문법이 간단하여 배우기 쉽다.

 

핵심

- 스크립트 언어의 종류와 특징

Comments