ㆍ변수 : 어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간.
ㆍ식별자 : 프로그램의 구성요소를 구별하기 위한 기준
ㆍ바인딩 : 변수와 변수에 관련된 속성을 연결하는 과정. 정적, 동적 바인딩으로 구분
1. 정적 바인딩 : 프로그램 실행 시간 전에 연결
2. 동적 바인딩 : 프로그램 실행 시간에 연결
ㆍ선언 : 변수에 이름, 데이터 타입 등의 속성을 부여하는 작업. 명시적, 묵시적 선언으로 구분
1. 명시적 선언 : 선언문을 이용하여 변수 이름을 나열하고 속성을 부여하는 방식.
2. 묵시적 선언 : 별도의 선언문 없이 디폴트 규칙에 읳새 속성이 부여되는 방식.
ㆍ영역 : 이름이 사용되는 범위. 정적 영역, 동적 영역으로 구분.
1. 정적 영역 : 변수를 찾을 때 구조에 기반하는 방식.
2. 동적 영역 : 변수를 찾을 때 순서에 기반하는 방식.
ㆍ할당 : 변수에 메모리 공간을 바인딩하는 작업.
ㆍ데이터 타입 : 변수가 가질 수 있는 속성 및 속성값의 길이.
ㆍ연산자 : 데이터 처리를 위해 연산을 표현하는 기호
ㆍ명령문 : 프로그램을 구성하는 문장으로 지시사항을 처리하는 단위.
ㆍ자료구조
컴퓨터에 데이터를 삽입,삭제,수정하게 해주는 논리적인 공간 구조. 단순 구조, 선형 구조, 비선형 구조, 파일 구조로 분류
유형 | 설명 |
단순 구조 | 프로그래밍 언어에서 제공하는 기본 데이터 (int, float, double, char) |
선형 구조 | 데이터가 연속적으로 연결된 자료구조 (연결자료구조, 순차자료구조, 스택, 큐, 덱) |
비선형 구조 | 자료들 사이의 관계가 계층, 그물 형 태등 비순차적인 성질을 가진 자료를 표현하는데 적합한 구조 (트리, 그래프) |
파일 구조 | 보조 기억 장치에 데이터 값이 실제로 기록되는 자료구조 (순차 파일, 색인 파일) |
ㆍ알고리즘
어떤 문제에 대한 답을 찾는 해법.
자연어, 순서도, 의사 코드, 프로그래밍 언어를 사용하여 표현
ㆍ알고리즘 특성
유형 | 설명 |
입력 | 외부로부터 입력되는 자료가 0개 이상이어야 하는 특성 |
출력 | 출력되는 결과가 1개 이성이어야 하느 특성 |
명확성 | 각 명령어의 의미가 명확하여야 하는 특성 |
유한성 | 정해진 단계를 지나면 종료되어야 하는 특성 |
유효성 | 모든 명령은 실행이 가능한 연산들이어야하는 특성 |
ㆍ데이터타입
프로그래밍 언어에서 실수,정수 자료형과 같은 여러종류의 데이터를 식별하는 형태
ㆍ데이터타입 유형
유형 | 설명 |
Boolean | 조건 참,거짓 판단. c++, java 에서는 true/false, 파이썬에서는 True/False 로 표현 |
Character | 문자하나를 저장하고자 사용 |
String | 문자열 저장 / C언어에서 지원X |
Integer | 정수 값 저장 |
Floating Point | 실숫값 저장 |
Array | 여러데이터를 하나로 묶어서 저장. 배열 |
ㆍ변수
저장하고자 하는 값을 주기억 장치에 기억하기 위한 공간.
ㆍ연산자
프로그램 실행을 위해 연산을 표현하는 기호. 산술, 시프트, 관계, 논리 연산자 등이 있다.
연산자 | 내용 |
산술연산자 | +, -, *, / , % |
시프트 연산자 | <<, >> |
관계 연산자 | >, <, >=, <=, ==, != |
논리 연산자 | &&, || |
비트 연산자 | &, |, ^ |
대입 연산자 | =, +=, -=, *=, /=, %= |
증감 연산자 | ++x, x++, --x, x-- |
ㆍ명령문
프로그램을 구성하는 문장으로, 지시사항을 처리하는 단위. 조건문, 반복문으로 나뉨.
1. 조건문 : 참,거짓 여부에 따라 경로를 달리하는 if문, 여러 경로 중 하나를 선택하는 switch문으로 구분.
2. 반복문 : 특정조건이 만족할 때 까지 실행하도록 하는 명령문. 특별한 조건이 없을 시 무한루프에 빠짐. while, for.
while문 : 시작과 종료조건을 지정하여 참인 동안 반복 실행. / for문 : 초기, 최종, 증감값을 지정하여 반복 실행.
ㆍ루프 제어 명령어 : 반복문에서 무한루프를 방지하기 위해 break와 continue 사용.
break : 반복문 중지, switch문 중간 탈출용도. / continue : 다음 반복으로 넘어갈수 있도록 함.
ㆍ사용자 정의 자료형
사용자가 상황에 맞게 기존 자료형들을 조합해서 만드는 자료형으로 열거체, 구조체, 공용체로 분류.
자료형 | 내용 |
열거체 | 서로 연관된 정수형 상수 집합. 초깃값을 지정하지 않으면 0부터 차례대로 할당. |
구조체 | 기본타입을 가지고 새롭게 정의할 수 있는 자료형. 자바,파이썬에서 지원x |
공용체 | 모든 맴버 변수가 하나의 메모리 공간을 공유하는 자료형. 자바,파이썬에서 지원x |
ㆍ사용자 정의 함수
사용자가 직접 새로운 함수를 정의하여 사용하는 방법.
ㆍ추상화 : 세부사항은 배제하고 중요한 부분을 중심으로 간략화. 기능, 자료, 제어 추상화로 구분.
종류 | 설명 |
기능 추상화 | 입력 자료를 출력 자료로 변환하는 과정을 추상화 |
자료 추상화 | ㅊ 있는 연산을 함께 정의하는 방법 |
제어 추상화 | 외부 이벤트에 대한 반응을 추상화하는 방법. |
ㆍ상속
상위 그룹의 모든 특성을 하위 그룹이 이어받아 재사용하는 기법. 단일속성, 다중속성으로 나뉨.
ㆍ구체화
하위 그룹이 상위 그룹의 추상적인 부분을 구체화하는 기법.
ㆍ개발 편의성에 따른 분류
종류 | 설명 |
저급 언어 | 기계가 이해할 수 있도록 만들어진 언어 (기계어, 어셈블리어) |
고급 언어 | 코드를 작성할 때 쉽게 이해할 수 있도록 만들어진 언어. (C, C++, 자바, 파이썬) |
ㆍ실행하는 방식에 따른 분류
종류 | 설명 |
명령형 언어 | 절차형 언어, 명령어들이 순차적으로 실행되는 방식 (FORTRAN, COBOL, PASCAL, C) |
객체지향 언어 | 객체 간 메시지 통신을 이용한 방식 (JAVA, C++) |
함수형 언어 | 수식과 같은 함수들로 프로그램을 구성하여 호출하는 방식. (LISP) |
논리형 언어 | 논리 문장을 이용하여 프로그램을 표현하고 계산을 수행하는 방식 (프롤로그) |
ㆍ구현 기법에 따른 분류
종류 | 설명 |
컴파일 방식 | 고급언어를 기계어로 번역. 컴파일러에 의해 정보가 미리 계산되어 실행속도가 빠름. (FORTRAN, PASCAL, C, C++) |
인터프리터 방식 | 고급언어 명령문을 번역하고 실행. 프로그램 실행과 동시에 동작. (BASIC, 프롤로그, LISP) |
혼합형 방식 | 고급 언어를 컴파일하여 중간언어로 변환 후, 인터프리터에 의해 번역 실행 (JAVA) |
ㆍ절차적 프로그래밍 언어 종류
종류 | 설명 |
ALGOL | 알고리즘 연구개발에 이용하기 위한 목적. 절차형 언어로는 최초로 재귀호출이 가능. |
C언어 | 유닉스 운영체제에서 사용하기위해 개발한 언어. 모든 컴퓨터 시스템에서 사용할 수 있도록 설계 |
BASIC | 교육용. 다론 종류의 소스코드는 호환되지 않음. |
FORTRAN | 과학계산에서 필수적인 계산기능 등이 내장된 과학 기술 전문 언어. |
ㆍ객체지향 프로그래밍 언어 종류
종류 | 설명 |
C++ | C문법에 객체지향 개념과 일반화 프로그래밍을 위한 템플릿 기능 추가. 직접 신경써야하는 것들이 많은 언어이기 때문에 개발이 어려움 |
C# | 마이크로소프트에서 개발한 객체지향 프로그래밍 언어. 불안전코드와같은 기술을 통하여 플랫폼 간 상호 운용성 확보 |
JAVA | 현재 웹 애플리케이션 개발에 가장 많이 사용하는 언어 |
델파이 | 파스칼 문법에 여러 기능이 추가. 높은생산성, 간결한 코드가 장점. |
ㆍ스크립트 언어 종류
종류 | 설명 |
PHP | 동적 웹페이지를 만들기 위해 설계됌, 인터페이스 방식의 자체 인터프리터 제공. HTML에 입력 시 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성. |
펄(Perl) | 인터프리터 방식의 언어. 실용성을 모토로, C, 쉘 스크립트 등 다른 프로그래밍 언어에서 뛰어난 기능을 많이 도입 |
Python | 다양한 플랫폼에서 쓸 수 있고, 라이브러리가 풍부 유니코드 문자열을 지원하여 다양한 언어의 문자 처리. |
javascript | 객체 기반의 스크립트 언어. 웹 브라우저 내에 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능이 존재. |
ㆍ선언형 언어 종류
구분 | 종류 | 설명 |
함수형 언어 |
하스켈 (Haskell) |
패턴맞춤, 가드, 연산자 정의 등 기능이 존재 재귀 함수나 대수적 자료형도 지원 |
리스프 (LISP) |
수학 표기법을 나타내기 위한 목적. 동적자료형과 인터프리터와 같은 개념 제시 |
|
논리형 언어 |
프롤로그 | 논리식을 기반으로 객체 간의 관계에 대한 문제를 해결하기 위해 사용 인공지능이나 계산 언어학 분야에 사용 |
특수분야 언어 |
SQL | 관계형DBMS의 데이터를 관리하기 위해 설계된 언어. DB관련 프로그램들이 SQL을 표준으로 채택 |
ㆍ객체지향 프로그래밍의 구성요소
구성요소 | 설명 |
객체 | 개체,속성,메소드로 구성된 클래스의 인스턴스 |
클래스 | 객체를 표현하는 추상 데이터 타입. 추상화된 자료형 제공 |
메시지 | 객체간의 통신 |
ㆍ객체 구성요소
구성요소 | 설명 |
개체(entity) | 현실에 보이는 본질 |
속성(Attribute) | 자료 저장소 |
메소드(Method) | 호출 단위 |
ㆍ라이브러리
개발을 위해 필요한 프로그램을 모아놓은 집합체. 도움말, 설치파일, 샘플코드 제공
ㆍ라이브러리 구성
구성요소 | 설명 |
도움말 | 라이브러리 사용 설명문서 |
설치 파일 | 라이브러리를 적용하기 위한 파일 |
샘플 코드 | 개발자가 이해하기 쉽고 적용하기위해 제공되는 소스코드 |
ㆍ라이브러리 종류
종류 | 설명 |
표준 라이브러리 | 프로그래밍 언어가 기본적으로 가지고있는 라이브러리. 별도의 설치 없이 날짜와 시간등의 기능 이용 가능 |
외부 라이브러리 | 누구나 개발하고 설치할 수 있으며, 인터넷등을 이용하여 공유가능. 별도의 설치 필요. |
ㆍ라이브러리 기능
문자열 연산, 탐색, 치환기능 / 수치 계산 / 난수 생성 / 파일 경로 조작 / 디렉터리 생성 / 날짜 조작 / 로그 출력
ㆍ모듈과 패키지
라이브러리 = 모듈과 패키지
구성 | 설명 | 예시 |
imp모듈 | 전역변수, 함수 등을 모아둔 파일 | |
패키지 | 모듈을 디렉터리 형시긍로 구조화한 라이브러리 |
'2020 정보처리기사 > 2020 실기 정리 (수제비 2020 정보처리기사 실기 Vol.2 기준)' 카테고리의 다른 글
2020 정보처리기사 - 제품 소프트웨어 패키징 (0) | 2020.07.13 |
---|---|
2020 정보처리기사 - 응용 SW 기초 기술 활용 - 2 (0) | 2020.07.09 |
2020 정보처리기사 - 응용 SW 기초 기술 활용 - 1 (0) | 2020.07.08 |
2020 정보처리기사 - 소프트웨어 개발 보안 구축 (0) | 2020.07.05 |
2020 정보처리기사 - SQL응용 (0) | 2020.06.29 |