본문 바로가기

2021 정보처리기사/4과목: 프로그래밍 언어 활용

[정보처리기사 4과목] 프로그래밍 언어 활용(3)

728x90
반응형
[정보처리기사 4과목 필기 예상 키워드] 목록으로 돌아가기
과목: 4. 프로그래밍 언어 활용
챕터: 2장 프로그래밍 언어 활용
키워드: 절차적 / 객체지향프로그래밍 언어
 #절차적 프로그래밍 언어
#객체지향 프로그래밍 언어
#스크립트 언어
#선언형 언어

 

 

절차적 프로그래밍 언어

개요

🧙‍♂️ 절차적 프로그래밍 언어는 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술해나가는 언어

🧙‍♂️ 명령형 언어임

 

✔ 프로그램이 실행되는 절차 중요

✔ 데이터 중심으로 프로시저 구현, 프로그램 전체가 유기적으로 연결

✔ 자연어에 가까운 단어와 문장으로 구성

✔ 과학 계산이나 하드웨어 제어에 주로 사용

 

 

장단점

✔ 컴퓨터의 처리 구조와 유사하여 실행 속도 빠름

✔ 같은 코드를 복사하지 않고 다른 위치에서 호출하여 사용

✔ 모듈 구성이 용이하며 구조적 프로그래밍 가능

 

✔ 프로그램 분석하기 어려움

✔ 유지보수나 코드 수정이 어려움

 

 

절차적 프로그래밍 언어의 종류

언어 특징
C
  ✔ 시스템 소프트웨어 개발 편리 / 시스템 프로그래밍 언어로 가장 적합
  ✔ 자료 주소를 조작할 수 있는 포인터 제공
  ✔ 고급 언어이면서 저급 언어의 특징을 모두 갖춤
  ✔ 컴파일러 방식의 언어
  ✔ 이식성이 좋아 컴퓨터 기종에 관계 없이 프로그램 작성 가능

ALGOL
  ✔ 수치 계산이나 논리 연산을 위한 과학 기술 계산용 언어
  ✔ pascal과 c언어의 모체

COBOL
  ✔ 사무 처리용 언어
  ✔ 영어 문장 형식으로 구성되어 있어 이해와 사용 쉬움
  ✔ 4개의 DIVISION으로 구성

FORTRAN
  ✔ 과학 기술 계산용 언어
  ✔ 수학/공학 분야의 공식이나 수식과 같은 형태로 프로그래밍 가능✔

 

 

 

 

 

객체지향 프로그래밍 언어

개요

🧙‍♂️

객체지향 프로그래밍 언어는 현실 세계의 개체(ENTITY)를 기계의 부품처럼

하나의 객체로 만들어 소프트웨어를 개발할 때 객체들을 조립해서 프로그램을 작성할 수 있도록 한 프로그래밍 기법

 

🧙‍♂️ 명령형 언어임

 

 

장단점

 

✔ 상속을 통핸 재사용과 시스템 확장 용이

✔ 코드 재활용성 높음

✔ 자연적 모델링에 의해 분석 설계 쉽고 효율적

✔ 대형 프로그램 작성 용이

✔ 개발 및 유지보수 용이

 

✔ 프로그래밍 구현을 지원해주는 정형화된 분석 및 설계 방법 없음

✔ 구현 시 처리시간이 지연됨

 

 

 

 

객체지향 프로그래밍 언어의 종류

언어 특징
JAVA
  ✔ 분산 네트워크 환경 적용 가능, 멀티스레드 기능 제공하므로 여러 작업 동시에 처리 가능
  ✔ 운영체제 및 하드웨어에 독립적, 이식성 강함
  ✔ 캡슐화 가능. 재사용성 높음


C++
  ✔ C언어에 객체지향 개념을 적용한 언어
  ✔ 모든 문제를 객체로 모델링하여 표현

Smalltalk
  ✔ 1세대 객체지향 프로그래밍 언어 중 하나로 순수한 객체지향 프로그래밍 언어
  ✔ 최초로 GUI 제공한 언어

 

 

객체지향 프로그래밍 언어의 구성요소

🧙‍♂️ 객체지향 프로그래밍 언어의 구성 요소에는 객체(Object), 클래스(Class), 메시지(Message)가 있음

 

객체(Object)

✔ 데이터(속성)와 이를 처리하기 위한 연산(메소드)을 결합시킨 실체

✔ 데이터 구조와 그 위에서 수행되는 연산들을 가지고 있는 소프트웨어 모듈

 

➡속성(Attribute):

한 클래스 내에서 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의하는 것으로서

성질, 분류, 식별, 수량 또는 현재 상태 등을 표현

 

➡ 메소드(Method):

객체가 메시지를 받아 실행해야 할 때 구체적인 연산을 정의하는 것으로,

객체의 상태를 참조하거나 변경하는 수단이 됨

 

 

 

클래스(Class)

✔ 두 개 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현하는 요소

✔ 객체의 유형 또는 타입(Object Type)을 의미

 

 

메시지(Message)

✔ 객체들 간 상호작용에 사용되는 수단, 메소드(동작/연산)를 일으키는 외부의 요구사항

메시지를 받은 객체는 대응하는 연산을 수행하여 예상된 결과를 반환

 

 

 

객체지향 프로그래밍 언어의 특징

🧙‍♂️ 캡슐화, 정보 은닉, 추상화, 상속성, 다형성

 

캡슐화(Encapsulation)

✔ 데이터(속성)과 데이터를 처리하는 함수를 하나로 묶는 것

✔ 캡슐화된 객체의 세부 내용이 외부에 은폐엄폐(정보 은닉)되어 변경 발생시 오류 파급효과 적음

✔ 재사용 용이

 

 

정보 은닉(Information Hiding)

✔ 감기약을 예로 들면 정보 은닉은 감기약에 어떤 재료가 들어 있는지 몰라도

✔ 감기가 걸렸을 때 먹는 약이라는 것만 알고 복용하는 것과 같은 의미임

 

 

 

추상화(Abstraction)

✔ 불필요한 부분은 생략하고 객체 속성 중 가장 중요한 것만 중점을 두어 개략화하는 것(모델화)

✔ 데이터의 공통된 성질을 추출하여 슈퍼 클래스를 선정하는 개념

 

➡ 과정 추상화: 자세한 수행과정 정의하지 않고 전반적인 흐름만 파악할 수 있게 설계

➡ 데이터 추상화: 데이터 세부속성이나 용도를 정의하지 않고 데이터 구조를 대표할 수 있는 표현으로 대체

➡ 제어 추상화: 이벤트 발생의 정확한 절차나 방법을 정의하지 않고, 대표할 수 있는 표현으로 대체

 

 

상속성(Inheritance)

✔ 이미 정의된 상위 클래스(부모 클래스)의 모든 속성을 하위 클래스가 물려받는 것

✔ 하위 클래스는 상위 클래스의 모든 속성과 연산을 자신의 클래스 내에서 다시 정의하지 않고서도 즉시 자신의 속성으로 사용 가능

 

➡ 단일 상속: 하나의 상위 클래스로부터 상속받는 것

➡ 다중 상속: 여러 개의 상위클래스로부터 상속받는 것

 

 

다형성(Polymorphism)

✔ 하나의 메시지에 대해 각 객체(클래스)가 가지고 있는 고유한 방법(특성)으로 응답할 수 있는 능력을 의미함

✔ 객체(클래스)들은 동일한 메소드명을 사용하며 같은 의미의 응답을 함

 

 

 

객체지향 기술(복습)

✔ 객체지향 분석

(1) 체 모델링: 메소드 식별

(2) 적 모델링: 기능의 흐름 표시

(3) 능 모델링: 상세분석(제한사항, 성능 등)

 

✔ 객체지향 분석 방법론

(1) 럼바우(Rumbaugh): 객체, 동적, 기능 모형으로 분리하여 접근

(2) 부치(Booch): 미시적(micro), 거시적(macro) 개발 프로세스로 접근

(3) Coad&Yourdon: E-R 다이어그램 사용하여 모델링

(4) Jacobson: 시나리오 접근

(5) Wirfs-Brocks: 설계의 연속적인 프로세스

 

 

스크립트 언어

🧙‍♂️ HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것

🧙‍♂️ 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작하게 함

 

✔ 게시판 입력, 상품 검색, 회원 가입 등과 같은 DB 처리 작업에 주로 사용

 

▶ 서버에서 해석되어 실행된 후 결과만 클라이언트로 보냄 = 서버용 스크립트 언어

➡서버용 스크립트 언어: ASP, JSP, PHP, 파이썬

 

▶ 클라이언트의 웹브라우저에서 해석+실행 = 클라이언트용 스크립트 언어

➡ 클라이언트용 스크립트 언어: 자바스크립트(JAVA Script), VB스크립트(Visual Basic Script)

 

 

 

 

선언형 언어

🧙‍♂️ 프로그램이 수행해야 하는 문제를 기술하는 언어

🧙‍♂️ 알고리즘은 명시하지 않고 목표를 명시함

🧙‍♂️ 함수형 언어, 논리형 언어 등이 있음

🧙‍♂️ 명령형 언어의 반대개념임

 

▶ 가독성이나 재사용성이 좋음

▶ 작동 순서가 구체적으로 작성되지 않기 때문에 오류가 적음

▶ 프로그램 동작을 변경하지 않고도 관련 값을 대체할 수 있음

 

✔ HTML, LISP, PROLOG, XML, Haskell 등

 

 

 

 

 

 


😎 곡면 모니터에도 단단하게 고정되는 LED 컴파스 와이드바 모니터조명

"쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다"

 

정보처리기사 4과목 필기(상시업뎃)

2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리된 키워드들이며, 순서와 관계 없이 

y-oni.tistory.com

참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV

728x90