핵심개념정리
no | 개념 | 설명 |
1 | 자료구조(Data Structure) | 데이터를 삽입, 삭제, 수정하게 해주는 논리적인 저장 공간 |
2 | 알고리즘(Algorithm) | 어떤 문제에 대한 답을 찾는 해법 |
3 | 변수(Variable) | 저장하고자 하는 어떠한 값이 있을 때, 그 값을 주기억 장치에 기억하기 위한 공간 |
4 | 연산자 | 프로그램 실행을 위해 연산을 표현하는 기호 |
5 | 추상화 | 세부사항은 배제하고 중요한 부분, 공통된 부분을 중심으로 간략화 하는 기법 |
6 | 상속 | 상위 수준 그룹의 모든 특성을 하위 수준 그룹이 이어받아 재사용 또는 확장하는 기법 |
7 | Library | 효율적인 프로그램 개발을 위해 필요한 프로그램(기능, 함수)를 모아 놓은 집합체(모듈화), 모듈+패키지 |
8 | 모듈 | 전역변수, 함수 등을 모아놓은 파일(import 파일명) |
9 | 패키지 | 모듈을 디렉토리 형식으로 구조화한 라이브러리(import 패키지명.모듈명) |
01. 기본 문법 활용
▶︎ 자료구조 분류
- 단순구조: 프로그래밍 언어에서 제공하는 기본 데이터(int, float, double, char)
- 선형구조: 데이터가 연속적으로 연결된 구조(연결자료구조, 순차자료구조, 스택, 큐, 데크 등)
- 비선형구조: 자료 사이 관계가 계층 또는 그물혀앹 등 비순차적인 성질을 표현(트리, 그래프)
- 파일구조: 보조 기억 장치에 데이터값이 실제로 기록되는 자료구조(순차파일, 색인파일)
▶︎ 알고리즘 특성
- 입력(자료가 0개이상), 출력(결과가 1개 이상), 명확성(명령어의 의미가 명확), 유한성(끝나면 종료), 유효성(실행 가능한 연산)
▶︎ 연산자 종류
- 산술연산자, 시프트연산자(>>,<<), 관계연산자(크기비교), 논리연산자(&&,||), 비트연산자(&,|,^), 대입연산자(+=), 증감연산자
▶︎ 언어별 비교
구분 | C언어 | C++언어 | 자바언어 | Python |
출력 | printf | std::cout | print, println, printf | |
if문 | if(조건){ 명령; } else if {} else | if 조건: 명령 elif --- | ||
switch | switch(조건){ case 값: 명령; break; ...} | 없음 | ||
while | i++; | i=i+1 | ||
for | for(초기값, 최종값, 증감식) | for 변수 in range(시작, 끝+1) |
▶︎ 사용자 정의 자료형
1) 열거체(Enumeration): 서로 연관된 정수형 상수들의 집합
2) 구조체(Structure): 사용자가 기본타입을 가지고 새롭게 정의(자바, 파이선X), 각 변수가 다른 메모리에 할당되는 점이 공용체와 차이점
3) 공용체(Union): 모든 멤버변수가 하나의 메모리 공간을 공유(자바, 파이선X)
▶︎ 추상화 종류
1) 기능 추상화: 입력자료 → 출력자료로 변환
2) 자료 추상화: 자료와 연산을 함께 정의
3) 제어 추상화: 외부 이벤트에 대한 반응을 추상화
02. 언어 특성 활용
▶︎ 개발편의성에 따른 분류
1) 저급언어 : 기계가 이해할수 있도록 만들어진 언어(기계어, 어셈블리어)
2) 고급언어: 개발자가 소스코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어(C, C++, 자바, 파이선)
▶︎ 실행방식에 따른 분류
1) 절차형(명령형 언어) : 프로시저 호출 개념
- 특징: 단순, 쉬운 유지보수, 복붙없이 같은 코드를 다른 곳에서 사용 가능, 순차적으로 진행하여 흐름 파악이 쉬움, 모듈화, 구조화
- 종류: FORTRAN, COBOL, PASCAL, BASIC, ALGOL, C
2) 객체지향 언어: 추상화, 상속, 다중상속(C++만), 다형성, 동적바인딩
3) 스크립트 언어: 컴파일 없이 실행, 최종 사용자가 사용자 요구에 맞게 응용 PG 동작을 수행 가능
4) 선언형 언어: 해법 정의 보다는 문제를 설명하는 언어, '무엇'을 할것인지에 중점
- 유형: 함수형언어(수학적 함수의 계산, 가변데이터 멀리, 항상 f(x)라는 결과(순수함수)
논리형언어(논리문장이용, 절대문절형태 존재)
▶︎ 객체지향 프로그래밍의 구성요소
1) 객체(Object): 개체, 속성, 메서드로 구성된 클래스의 인스턴스
2) 클래스(Class) : 객체를 표현하는 추상 데이터 타입으로 객체를 생성하는 틀, 추상화된 자료형을 제공
3) 메세지(Message): 객체간의 통신
▶︎ 객체의 구성요소 : 개체(Entity), 속성(Attribute), 메서드(Method)
▶︎ 라이브러리의 구성요소: 도움말, 설치파일, 샘플코드
- 기능: 문자열 연산, 탐색/치환, 수치계산, 난수 생성, 날짜조작, 로그출력 등
- 종류: 표준 라이브러리([입문시수]입출력, 문자열, 시간처리, 수학), 외부라이브러리
'Certificate > 정보처리기사' 카테고리의 다른 글
[실기]Ⅻ.제품 소프트웨어 패키징★ (0) | 2020.11.21 |
---|---|
[실기]Ⅺ.응용SW 기초 기술 활용★★ (0) | 2020.11.21 |
[실기]Ⅸ.소프트웨어 개발보안 구축★★ (0) | 2020.11.21 |
[실기]Ⅷ. SQL응용 ★★ (0) | 2020.11.21 |
[실기]Ⅶ.애플리케이션 테스트 관리★★ (0) | 2020.11.21 |