프로그래밍 언어의 분류
- 저급언어
: 기계가 이해할 수 있도록 만들어진 언어
: 기계어, 어셈블리어
- 고급언어
: 사람이 이해하기 쉽게 만들어진 언어
: C, C++, JAVA, 파이썬
- 절차지향 언어
: 명령어가 순차적으로 실행되는 언어
: 포트란, 코볼, 파스칼, C
- 객체지향 언어
: 객체간 메시지 통신을 이용하여 프로그래밍하는 언어
: JAVA, C++, Delphi, C#
- 함수형 언어
: 수학적 수식과 같은 함수들로 프로그램을 구성하여 호출
: LISP
- 논리형 언어
: 논리 문장을 이용하여 프로그램을 표현하고 계산 수행
: 프롤로그
구현 기법별 언어
- 컴파일 방식
: 고급언어를 기계어로 한꺼번에 번역하고 실행하는 방식
: 포트란, 파스칼, C, C++
- 인터프리터 방식
: 명령어를 하나씩 번역하고 실행하는 방식
: Basic, 프롤로그, LISP, 파이썬
- 혼합형
: 컴파일 후 중간언어로 변환한 뒤 인터프리터에 의해 번역 실행
: JAVA
절차지향 프로그래밍 언어별 특성
- ALGOL
: 알고리즘 연구 개발을 위해 탄생
: 재귀 호출 가능
- C : 유닉스 운영체제를 위해 개발된 프로그래밍 언어
- Basic : 교육용 언어
- 포트란 : 과학 계산에 필수적인 기능들이 내장된 과학 기술 전문 언어
객체지향 프로그래밍 언어별 특성
- C++
: C문법에 객체지향 개념과 일반화 프로그래밍을 위한 템플릿 추가
: 성능하락없이 개발이 가능하나 메모리를 직접 관리해야하는 어려움 존재
- C#
: MS에서 개발한 객체지향 언어
: C++ 및 JAVA와 비슷한 문법 / Unsafe Code를 도입하여 플랫폼 간 상호 운용성 확보
- JAVA
: sun microsystems에서 개발한 객체지향 언어
: 자바 컴파일러는 자바언어를 바이트 코드라는 형태로 반환
- 델파이
: 파스칼 문법에 기능 추가
: 윈도우즈 아래에서 모든 부분을 프로그래밍 가능
: 높은 생산성 / 간결한 코드 / 저수준 프로그래밍 가능
스크립트 언어
- PHP
: 동저 웹 페이지를 위해 설계
: 인터페이스 방식의 자체 인터프리터 제공
- Perl
: 인터프리터 방식
: C 및 쉘 스크립트의 장점을 도입
: 강력한 문자열 처리기능
- 파이썬
: 다양한 플랫폼에서 사용가능 / 풍부한 라이브러리
: 유니코드 및 들여쓰기 도입
: 다른 언어로 쓰인 모듈들을 연결
- 자바스크립트
: 객체기반의 스크립트 프로그래밍 언어
: 웹 브라우저 내에서 주로 사용
선언형 언어
- Haskel (함수형)
: 패턴 맞춤, 커링 등 기능과 재귀함수 및 대수적 자료형 지원
- LISP (함수형)
: 수학 표기법을 나타내는데 최적화
: 트리구조, 가비지 컬렉션 등
- 프롤로그 (논리형)
: 논리식을 기반으로 객체간 관게 문제풀이에 최적화
- SQL (특수목적)
: 관계형 데이터베이스를 다루기 위한 언어
객체지향
- 객체
: 개체, 속성, 메서드로 구성된 클래스의 인스턴스
ㆍ개체 : 본질
ㆍ속성 : 자료 저장소 역할 (변수)
ㆍ메서드 : 호출단위 (함수)
- 클래스 : 객체를 표현하는 추상 데이터 타입 (객체 생성 틀)
- 메시지 : 객체간의 통신
라이브러리
- 필요할때 찾아 쓸 수 있도록 모듈화 되어 제공되는 프로그램
- 구성
ㆍ도움말
ㆍ설치파일
ㆍ샘플코드
- 종류
ㆍ표준 라이브러리 <프로그래밍 언어에서 기본 제공>
ㆍ외부 라이브러리 <추가적인 파일 설치 필요>
- 기능
: 문자열 연산, 탐색, 치환
: 수치 계산 / 난수생성
: 파일 경로 조작 / 디렉터리 생성
: 날짜조작 / 로그 출력
- 하위개념
ㆍ모듈 : 전역변수, 함수 등을 모아놓은 파일
ㆍ패키지 : 모듈을 디렉터리 형식으로 구조화한 라이브러리
'Certification > 정보처리기사' 카테고리의 다른 글
데이터베이스 기본 (SQL) (0) | 2021.04.11 |
---|---|
트랜잭션 (0) | 2021.04.11 |
프로그래밍 기초 2 (연산자 ~ 객체지향) (0) | 2021.04.10 |
프로그래밍 기초 1 (자료형 ~ 식별자) (0) | 2021.04.10 |
인터페이스 구현 검증 (xUnit / STAF / FitNesse / APM) (0) | 2021.04.10 |