프로그래밍 언어 활용
1. 기본 문법 활용
2. 언어 특성 활용
2. 언어 특성 활용
1) 프로그래밍 언어별 특성
-> 컴퓨터 시스템의 역사와 함께하고 있으며 시대적인 패러다임에 따라 유사한 특성이 있다.
A. 프로그래밍 언어의 유형 분류
- 개발편의성에 따른 분류
- 실행하는 방식에 따른 분류
- 구현 기법에 따른 분류
- 개발 편의성에 따른 분류
종류 |
설명 |
저급 언어 |
기계가 이해할 수 있도록 만들어진 언어 ex) 기계어, 어셈블리어 |
고급 언어 |
개발자가 소스코드를 작성하기 쉽게, 이해하기 쉽게 설계된 언어 ex) C, C++, java, python... |
- 실행하는 방식에 따른 분류
종류 |
설명 |
명령형 언어 |
컴퓨터에 저장된 명령어들이 순차적으로 실행되는 방식 ex) FORTRAN, COBOL, PASCAL, C |
객체지향 언어 |
객체 간의 메시지 통신을 이용하여 프로그래밍하는 방식 ex) java, C++ |
함수형 언어 |
수학적 수식과 같은 함수들로 프로그래밍을 구성하여 호출하는 방식 ex) LISP |
논리형 언어 |
논리 문장을 이용하여 프로그램을 표현하고 계산을 수행하는 방법에 기반한 프로그래밍 방식 ex) PROLOG |
- 구현 기법에 따른 분류
종류 |
설명 |
컴파일 방식의 언어 |
고급 언어를 기계어로 번역하는 방식 컴파일러에 의해 필요한 정보가 미리계산되어 실행속도가 매우 빠르다. ex) FORTRAN, PASCAL, C, C++ |
인터프리터 방식의 언어 |
고급 언어 명령문을 하나씩 번역하고 실행하는 방식 프로그램 실행과 동시에 동작 ex) BASIC, PROLOG, LISP, Perl |
혼합형 방식의 언어 |
고급 언어를 컴파일 하여 중간 언어로 변환한 후, 인터프리터 언어에 의해 번역을 실행하는 방식 ex) java |
- 절차적 프로그래밍 언어
- 객채지향 프로그래밍 언어
- 스크립트 언어
- 선언형 언어
- 절차적 프로그래밍 언어 종류
종류 |
설명 |
알골(ALGOL) |
알고리즘의 연구개발에 이용하기 위한 목적으로 개발 절차형 언어로는 최초로 재귀 호출 가능 |
C 언어 |
유닉스 운영체제에서 사용하기 위해 개발 모든 컴퓨터 시스템에서 사용할 수 있도록 설계된 프로그래밍 언어 |
베이식(BASIC) |
교육용으로 개발(문법이 쉬움) 다양한 종류의 베이식이 존재 서로 다른 종류 사이의 소스코드는 호환되지 않음 |
포트란(FORTRAN) |
과학계산에서 필수적인 벡터, 행렬 계산 기능 등이 내장된 과학 기술 전문 언어 다양한 수학 함수들 사용 가능 |
- 객체지향 프로그래밍 언어 종류
종류 |
설명 |
C++ |
C문법에 객체지향 프로그래밍 개념이 추가 개발자가 직접 메모리 관리를 할수 있어 성능 하락이 없는 형태로 개발 가능하지만 그만큼 개발이 어려움 |
C# |
MS에서 개발한 언어 java와 달리 불안전 코드(Unsafe Code)와 같은 기술을 통하여 플랫폼 간 상호 운용성 확보 |
자바(java) |
썬 마이크로 시스템즈(Oracle과 합병)가 개발한 언어 현재 웹 애플리케이션 개발에 가장 많이 사용 자바(java) 컴파일러는 자바(java) 언어로 작성된 프로그램을 바이트 코드라는 특수한 바이너리 형태로 변환 |
델파이(Delphi) |
파스칼(PASCAL)문법에 여러 기능이 추가되어 존재 윈도우즈(Windows)에서 모든 부분을 프로그래밍 할 수 있는 언어 높은 생산성과 간결한 코드가 대표적인 장점 C++과 비슷한 수준의 저수준 시스템 프로그래밍도 가능 |
- 스크립트 언어 종류
종류 |
설명 |
PHP |
동적 웹 페이지를 만들기 위해 설계 PHP로 작성된 코드를 HTML에 입력 시 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성 인터페이스 방식의 자체 인터프리터를 제공 |
펄(Perl) |
인터프리터 방식의 언어 실용성을 기반으로 개발됨 C, sh(쉘 스트립트) 등 다른 프로그래밍 언어에서 뛰어난 기능을 도입 불특정한 데이터 길이의 제약 없이 강력한 문자열 처리 기능 제공 |
파이썬(python) |
다양한 플랫폼에서 사용 가능하고 라이브러리가 많다. 유니코드 문자열을 지원하여 다양한 언어 처리 가능 들여쓰기를 통해 블록을 구분하는 문법 주로 다른 언어로 쓰인 모듈들을 연결하는 언어로써 사용 |
자바스크립트(java script) |
객체 기반의 스크립트 프로그래밍 언어 웹 브라우저에서 주로 사용 다른 응용 프로그램 내장 객체에도 접근 가능 브라우저마다 지원되는 버전이 상이 하다. |
- 선언형 언어 종류
구분 |
종류 |
설명 |
함수형 언어 |
하스켈(Haskell) |
패턴 맞춤, 커링, 조건제시법, 가드, 연산자 정의 등의 기능이 존재 재귀함수나 대수적 자료형도 지원 |
리스프(LISP) |
수학 표기법을 나타내기 위한 목적 트리 자료구조, 가비지 컬렉션, 동적 자료형과 인터프리터와 같은 개념 제시 함수 호출 시 -> 함수 이름 혹은 연산자가 첫 번째로 위치하고 이어서 피연산자가 위치한다. ex) f(+ a b) |
|
논리형 언어 |
프롤로그(PROLOG) |
논리식을 기반으로 객체 간의 관계에 돤한 문제를 해결하기 위해 사용 인공지능, 계산 언어학, 자연언어 처리 분야에서 사용 |
특수 분야 언어 |
SQL |
관계형 데이터베이스 관리시스템(RDBMS)의 데이터 관리를 위해 설계된 언어 SQL을 표준으로 채택 |
C. 객체지향 프로그래밍
-> 객체와 객체 간의 통신을 통해 프로그램이 구현
- 절차지향과 객체지향 대응 관계
절차지향 |
객체지향 |
모듈 |
객체 |
변수 |
속성 |
함수 |
메서드 |
- 객체지향 프로그래밍의 구성 요소
- 객체
- 클래스
- 메시지
구성요소 |
설명 |
객체 |
개체, 속성, 메서드로 구성된 클래스의 인스턴스 |
클래스 |
객체를 표현하는 추상 데이터 타입(객체를 생성하는 틀) 클래스를 통해 추상화된 자료형을 제공 |
메시지 |
객체 간의 통신 |
- 객체의 구성 요소
- 개체
- 속성
- 메서드
구성요소 |
설명 |
개체 |
현실 세계에서 보이는 본질 |
속성 |
자료 저장소 역할 |
메서드 |
호출 단위를 의미 |
2) 라이브러리 활용
A. 라이브러리
- 라이브러리?
-> 필요한 프로그램을 모아 놓은 집합체
-> 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공되는 프로그램
- 라이브러리 구성
- 도움말
- 설치파일
- 샘플 코드
- 라이브러리 종류
- 표준 라이브러리
- 외부 라이브러리
표준 라이브러리 : 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리
외부 라이브러리 : 표준 라이브러리와 달리 별도의 파일을 설치
- 라이브러리 기능
유형 |
설명 |
문자열 연산 기능 |
일반적인 문자열 조작 |
문자열 탐색/치환 기능 |
문자열의 패턴을 정의하여 탐색, 치환 등의 작업에 사용 |
수치 계산 기능 |
기본적인 수치 계산에 사용 |
난수 생성 기능 |
난수를 다루는 작업에 사용 |
파일 경로 조작 기능 |
파일 경로 관련 기능을 제공 |
디렉터리 생성 기능 |
디렉터리를 생성하는 기능을 제공 |
날짜 조작 기능 |
날짜와 시간의 일자와 관련된 작업에 사용 |
로그 출력 기능 |
로그 출력 기능을 제공 |
- 모듈과 패키지
구성 |
설명 |
모듈 |
전역변수, 함수 등을 모아둔 파일 |
패키지 |
모듈을 디렉터리 형식으로 구조화한 라이브러리 |
'0 + Study > 0 + 정보처리기사(실기)' 카테고리의 다른 글
[정보처리기사 실기] 응용 SW 기초 기술 활용#2 (데이터베이스 기초 활용) (0) | 2020.10.20 |
---|---|
[정보처리기사 실기] 응용 SW 기초 기술 활용#1 (운영체제(OS)의 특징) (0) | 2020.10.09 |
[정보처리기사 실기] 프로그래밍 언어#1 (0) | 2020.10.04 |
[정보처리기사 실기]서버 프로그램 구현#2 (2) | 2020.09.26 |
[정보처리기사 실기]서버 프로그램 구현#1 (0) | 2020.09.23 |