순서
CH01 언어특성 활용
<CH01언어특성 활용>
절차적(Procedural) 프로그래밍 언어
프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 언어
특징
- 유지보수 용이
(그러나 객체지향의 유지보수가 상대적으로 용이) - 코드 재사용 가능
- 흐름 파악 용이
- 모듈화,구조화 가능
예시
ALGOL(알골), C언어, FORTRAN(포트란)
객체지향(Object Oriented) 프로그래밍 언어
객체지향 프로그래밍 언어는 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위인 “객체” 중심의 프로그래밍 언어이다.
기능
- 자료 추상화
- 상속
- 다중 상속
- 다형성
- 동적 바인딩
- 접근 제어자(Access Modifier)
허용범위 | public | protected | private | default |
---|---|---|---|---|
클래스 내부 | O | O | O | O |
동일 패키지 | O | O | X | O |
하위 패키지 | O | O | X | X |
다른 패키지 | O | X | X | X |
예시
C++, C#, JAVA(자바), Delphi(델파이)
스크립트(Script) 언어
스크립트 언어는 소스 코드를 컴파일하지 않고 실행할 수 있는 프로그래밍 언어
특징
- 배우기 쉽다
예시
PHP, Perl(펄), Phython(파이썬), Javascript(자바스크립트), Bash(배시), Basic(베이직)
선언형(Declarative) 언어
선언형 프로그래밍을 사용하여 해법을 정의하기보다는 문제를 설명하는 단어이다.
기능(암기-함순익고 논사규질)
- 함수형 언어
- 순수 함수 (Pure Function)
- 익명 함수(Anonymous Function)
- 고계 함수(Higher Order Function)
- 논리형 언어
- 사실(Facts)
- 규칙(Rule)
- 질문(Question)
종류
- 함수형 언어
- Haskell(하스켈)
패턴맞춤, 커링, 조건제시법, 가드, 연산자 정의 등의 기능이 존재하는 함수형 언어 - LISP(리스프)
수학 표기법을 나타내기 위한 목적으로 만들어짐. 트리, 가비지 콜렉션, 동적 자료형과 인터프리터와 같은 개념을 제시한다
함수 호출 시 이름 혹은 연산자가 첫 번째로 위치하여 피연산자가 이어 위치한다.
- Haskell(하스켈)
- 논리형 언어
- Prolog(프롤로그)
논리형 언어로 논리식을 기반으로 객체 간의 관계에 대한 문제를 해결하기 위해 사용.
- Prolog(프롤로그)
- 특수 분야 언어
- SQL
RDBMS의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
- SQL
라이브러리 활용
프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어놓은 집합체
구성
도움말, 설치 파일, 샘플 코드
종류
- 표준 라이브러리
- 언어에 기본적으로 포함되어 있는 라이브러리로 여러 종류의 모듈이나 패키지 형태
- 외부 라이브러리
- 개발자들이 필요한 기능들을 만들어 인터넷에 공유해놓은 것, 다운로드 받아 설치함
기능
입출력, 문자열, 시간 처리, 수학 관련
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 언어 표준 라이브러리
- 개발에 필요한 메소드들이 클래스로 정리되어 있음
- 패키지 사용시, import문을 사용해 선언후 사용
ex) import java.util - import로 선언된 패키지 내 클래스 메소드를 사용할 땐 클래스와 매소드를 마침표로 구분하여 사용
패키지 | 기능 |
---|---|
java.lang | - 기본인터페이스, 자료형, 예외처리 |
- import없이 사용 가능 | |
- String, System, Process, Runtime, Math, Error | |
java.util | - 날짜 처리, 난수 발생, 복잡한 문자열 처리 |
- Date, Calender, Random, StringTokenizer | |
java.io | - 파일 입/출력 관련 기능 및 프로토콜 |
- InputStream, OutputStream, Reader, Writer | |
java.net | - 네트워크 관련 기능 |
java.awt | - 사용자 인터페이스(UI) 관련 기능 제공 |
- Frame, Panel, Dialog, Button, Checkbox |
데이터 입출력(Data Input, Ouput)
프로그램으로 데이터가 입력 및 출력되도록 하기 위한 기법
구성
표준 입력, 표준 출력, 표준 오류
예외처리(Exception Handling)
예외 처리는 오류가 발생 시 오류를 그대로 실행시키지 않고 오류에 대응하는 방법으로 처리하는 프로그래밍 기법
- 일반적인 처리 루틴은 프로그램 종료, 로그 남기기
- 조건문을 사용하여 예외 처리 루틴 작성
- 예외 원인: 컴퓨터 하드웨어 문제, 운영체제 설정 실수, 라이브러리 손상, 사용자 입력 실수, 받아들일 수 없는 연산, 할당하지 못하는 기억장치 접근
JAVA의 예외처리
- 예외를 객체로 취급, java.lang 패키지에서 제공
예시
try{
if(예외조건)
throw 예외;
}catch(타입 예외객체){
예외처리;
}
프로토타입(Prototype)
속성과 메서드를 다른 클래스의 인스턴스 또는 빈 객체에 추가하는 작업을 덜 수 있는 프로그래밍 스타일
- 컴파일러에게 사용될 함수에 대한 정보를 미리 알리는 것
- 함수 호출전 미리 정의되는 경우, 프로토타입 정의 안해도 됨
- 본문이 없다는 점을 제외하고 함수 형태 동일
- C언어에서 프로토타입은 main()함수 바깥쪽에 선언함
https://simuing.tistory.com/entry/2021-정보처리기사-필기요약-프로그래밍-언어-활용
'Computer Science > 정보처리기사' 카테고리의 다른 글
[정보처리기사-실기] 8장 서버프로그램 구현 (0) | 2022.04.28 |
---|---|
[정보처리기사-실기] 7장 SQL 응용 (0) | 2022.04.28 |
[정보처리기사-실기] 5장 인터페이스 구현 (0) | 2022.04.26 |
[정보처리기사-실기] 4장 통합 구현 (0) | 2022.04.25 |
[정보처리기사-실기] 3장 데이터 입출력 구현 (0) | 2022.04.25 |
댓글