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

10. 프로그래밍 언어 활용

by Killing_me__ 2021. 7. 1.
반응형

Chapter 1. 기본 문법 활용하기

1. 자료의 형태에 따른 자료 구조 분류
- 단순구조 : 프로그래밍 언어에서 제공하는 기본 데이터(int, float, double, char)
- 선형구조 : 데이터가 연속적으로 연결된 자료구조(연결자료구조, 순차자료구조, 스택, 큐, 덱 등)
- 비선형구조 : 자료들 사이의 관계가 계층 또는 그룹 형태 등 비순차적은 성질을 가진 자료를 표현하는 데 적합한 구조(트리, 그래프)
- 파일구조 : 보조기억장치에 데이터값이 실제로 기록되는 자료 구조(순차파일, 색인파일)

2. 알고리즘 특성 (입출명유유)
- 입력 : 외부로부터 입력되는 자료가 0개 이상이어야 하는 특성
- 출력 : 출력되는 결과가 1개 이상이어야 하는 특성
- 명확성 : 각 명령어의 의미가 명확하여야 하는 특성
- 유한성 : 정해진 단계를 지나면 종료되어야 하는 특성
- 유효성 : 모든 명령은 실행이 가능한 연산들이어야 하는 특성

3. 변수 설정 규칙
- 사용 가능 문자 : 영문 대문자/소문자, 숫자, 밑줄의 사용이 가능
- 변수 사용 규칙 : 첫 자리에는 숫자를 사용할 수 없음, 변수 이름의 중간에는 공백을 사용할 수 없음
- 변수 의미 부여 : 데이터 값의 의미나 역할을 표현, 이미 사용되고 있는 예약어의 경우에는 변수로 사용할 수 없음

4. 연산자
1) 산술연산자 : + - * / %
2) 시프트연산자 : >> <<
3) 관계연산자 : > < >= <= == !=
4) 논리연산자 : && ||
5) 비트연산자 : & | ^
6) 대입연산자 : = += -= *= /= %=
7) 증감연산자 : ++x x++ --x x--

5. 명령문
1) 조건문
- if문 : 조건이 참인지 거짓인지에 따라 경로를 선택, 단순 if문, 선택 if문, 중첩 if문
- switch문 : 조건에 따라 여러 개의 선택 경로 중 하나를 취하고자 할 때 사용
2) 반복문
- while문 : 시작과 종료 조건을 지정하여 참인 동안에는 해당 문장을 반복해서 실행하는 명령문
- for문 : 초깃값, 최종값, 증감 값을 지정하여 반복을 실행하는 명령문
3) 루프 제어 명령문
- break : 반복문을 중지하도록 하는 명령어
- continue : 다음 반복으로 넘어갈 수 있도록 하는 명령어

6. 추상화 (기자제)
- 기능 추상화 : 입력 자료를 출력 자료로 변환하는 과정을 추상화
- 자료 추상화 : 자료와 자료에 적용할 수 있는 연산을 함께 정의
- 제어 추상화 : 외부 이벤트에 대한 반응을 추상화

Chapter 2. 언어 특성 활용하기

1. 실행하는 방식에 따른 언어 분류
- 명령형 언어 : 컴퓨터에 저장된 명령어들이 순차적으로 실행되는 프로그래밍 방식, 절차형 언어라고도 불림(FORTRAN, COBOL, PASCAL, C)
- 객체지향 언어 : 객체 간의 메시지 통신을 이용하여 프로그래밍하는 방식(JAVA, C++)
- 함수형 언어 : 수학적 수식과 같은 함수들로 프로그램을 구성하여 호출하는 방식(LISP)
- 논리형 언어 : 논리 문장을 이용하여 프로그램을 표현하고 계산을 수행하는 개념에 기반한 프로그래밍 방식(프롤로그)

2. 구현 기법에 따른 분류
- 컴파일 방식의 언어 : 고급 언어를 기계어로 번역하는 방식의 언어, 컴파일러에 의해 필요한 정보가 미리 계산되어 실행 속도가 높음(FORTRAN, PASCAL, C, C++)
- 인터프리터 방식의 언어 : 고급 언어 명령문을 하나씩 번역하고 실행하는 언어, 프로그램 실행과 동시에 동작(BASIC, 프롤로그, LISP)
- 혼합형 방식의 언어 : 고급 언어를 컴파일하여 중간 언어로 변환한 후, 인터프리터에 의해 번역을 실행하는 방식의 언어

3. 절차적 프로그래밍 언어 종류
- 알골(ALGOL) : 알고리즘의 연구 개발에 이용하기 위한 목적으로 생성, 절차형 언어로는 최초로 재귀호출이 가능, 이후 언어의 발전에 큰 영향을 미침
- C언어 : 유닉스 운영체제에서 사용하기 위해 개발한 프로그래밍 언어, 모든 컴퓨터 시스템에서 사용할 수 있도록 설계된 프로그래밍 언어
- 베이직(BASIC) : 교육용으로 개발되어 언어의 문법이 쉬움, 다양한 종류의 베이직이 존재, 서로 다른 종류 사이의 소스 코드는 호환되지 않음
- 포트란(FORTRAN) : 과학계산에서 필수적인 벡터, 행렬 계산 기능 등이 내장된 과학 기술 전문 언어, 산술 기호, 삼각함수, 지수함수, 대수함수 등과 같은 수학 함수들 사용 가능

4. 객체지향 프로그래밍 언어 종류
- C++ : C 문법에 객체지향 프로그래밍 개념과 일반화 프로그래밍을 위한 템플릿 기능이 추가, 개발자는 원하는 많은 작업을 성능 하락이 없는 형태로 개발이 가능, 직접 신경써야 하는 것들(메모리 관리)이 많은 언어이기 때문에 개발이 어려움
- C# : 마이크로소프트에서 개발한 객체지향 프로그래밍 언어, C++과 자바의 문법과 비슷한 문법을 가지고 있음, 자바와 달리 불안전 코드와 같은 기술을 통하여 플랫폼 간 상호 운용성 확보
- 자바(JAVA) : 썬 마이크로 시스템즈가 개발한 객체지향적 프로그래밍 언어, 현재 웹 애플리케이션 개발에 가장 많이 사용하는 언어, 자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트 코드라는 특수한 바이너리 형태로 변환
- 델파이(Delphi) : 기본적인 문법은 파스칼 문법에 여러 기능이 추가되어 존재, 윈도즈 아래에서 모든 부분을 프로그래밍할 수 있는 언어, 높은 생산성과 간결한 코드가 대표적인 장점이고, C++과 비슷한 수준의 저수준 시스템 프로그래밍도 가능

5. 스크립트 언어 종류
- PHP : 동적 웹 페이지를 만들기 위해 설계됨, PHP로 작성된 코드를 HTML에 입력 시 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성, 인터페이스 방칙의 자체 인터프리터를 제공
- 펄(Perl) : 인터프리터 방식의 프로그램이 언어, 실용성을 모토로 하고 있어 C, 쉘 스크립트 등 다른 프로그래밍 언어에서 뛰어난 기능을 많이 도입, 불특정한 데이터 길이의 제약 없이 강력한 문자열 처리 기능을 제공
- 파이썬 : 다양한 플랫폼에서 쓸 수 있고, 라이브러리가 풍부, 유니코드 문자열을 지원하여 다양한 언어의 문자 처리, 들여쓰기를 사용하여 블록을 구분하는 문법 채용, 다른 언어로 쓰인 모듈들을 연결하는 언어
- 자바스크립트 : 객체 기반의 스크립트 프로그래밍 언어, 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에서도 접근할 수 있는 기능이 존재, 자바스크립트는 브라우저마다 지원되는 버전이 상이

6. 객체지향 프로그래밍의 구성요소
- 객체(Object) : 개체, 속성, 메서드로 구성된 클래스의 인스턴스를 의미
- 클래스(Class) : 객체지향 프로그래밍에서 객체를 표현하는 추상 데이터 타입으로 객체를 생성하는 틀, 클래스를 통해 추상화된 자료형을 제공
- 메시지(Message) : 객체 간의 통신

7. 객체의 구성요소
- 개체(Entity) : 현실 세계에 보이는 본질을 의미
- 속성(Attribute) : 자료 저장소 역할을 하며, 절차 지향 프로그래밍의 변수와 대응
- 메서드(Method) : 호출 단위를 의미하며, 절차 지향 프로그래밍의 함수와 대응

반응형

댓글